Plot one pixel in blue on a canvas
Aravinda VK
mail at aravindavk.in
Sun Dec 1 16:47:20 UTC 2024
On Sunday, 1 December 2024 at 16:40:56 UTC, Aravinda VK wrote:
> On Friday, 29 November 2024 at 14:02:38 UTC, Alain De Vos wrote:
>> I want to plot a pixel in blue at coordinates (100,100) on a
>> canvas of size (200,200)
>> I think i can use the arsd module.
>> But i have no idea what "dub add" comment I should use.
>> What i should import
>> How this demo program would look.
>> Cfr,
>> https://www.reddit.com/r/scala/comments/1h2g8a2/simple_graphics_api/
>> https://www.reddit.com/r/fsharp/comments/1h2g7pv/simple_graphics_api/
>
> You can use Chitra library. It is still under active
> development, working on adding support for text and curves.
> Refer this documentation to install the dependencies and add
> Chitra to your project. Chitra is based on Cairo Graphics for
> 2D graphics and PangoCairo for rendering texts.
>
> https://github.com/aravindavk/chitra-d
>
> Example for your use case,
>
> ```d
> import chitra;
>
> void main()
> {
> auto ctx = new Chitra(200, 200);
> ctx.pixel(100, 100);
> ctx.saveAs("dot.png");
> }
> ```
>
> Or just run the file without installing it, like below.
>
> Create a file `dot.d` with the following content.
>
> ```d
> /+ dub.sdl:
> dependency "chitra" version="~>0.1.0"
> +/
>
> import chitra;
>
> void main()
> {
> auto ctx = new Chitra(200, 200);
> ctx.pixel(100, 100);
> ctx.saveAs("dot.png");
> }
> ```
>
> And run as `dub dot.d`
>
> Let me know if this works for you. Thanks.
Missed adding color in the above example (Also added the
alternate syntax using `with` statement).
```d
import chitra;
void main()
{
auto ctx = new Chitra(200, 200);
with(ctx)
{
fill("blue");
pixel(100, 100);
saveAs("dot.png");
}
}
```
More information about the Digitalmars-d-learn
mailing list