GDI+ pageoffset

Austin English austinenglish at gmail.com
Wed Apr 11 11:49:24 CDT 2012


On Wed, Apr 11, 2012 at 10:23, Stepa Nick <hired777 at gmail.com> wrote:
> Hello. I have following code:
>
>> Bitmap * bmp = new Bitmap(500, 500, PixelFormat32bppARGB);
>> {
>>   Graphics gr(bmp);
>>
>>   //FIRST LINE
>>   PointF* local1PointF = new PointF(17.823631, 89.429169);
>>   PointF* local2PointF = new PointF(17.823631, 87.577080);
>>
>>   //SECOND LINE
>>   PointF* local3PointF = new PointF(14.933444, 89.429169);
>>   PointF* local4PointF = new PointF(14.933444, 87.577080);
>>   Pen * pen = new Pen(Color(255, 0, 0), 0.1);
>>   gr.SetPageUnit(UnitMillimeter);
>>
>>   gr.SetPixelOffsetMode(PixelOffsetModeHalf); //PROBLEM!
>>
>>   gr.DrawLine(pen,(*local1PointF),(*local2PointF));
>>   gr.DrawLine(pen,(*local3PointF),(*local4PointF));
>> }
>
> When I run it without SetPixelOffsetMode i get equal line, but with it
> line are not identical(first line is longer). I explore
> "dlls/gdiplus/graphics.c" and i find this comment: "/* FIXME: Pixel
> offset mode is not used anywhere except the getter/setter. */". So, I
> what to understand why I have different images(how pixeloffset affect
> on drawing lines)? I try to run windbg, run
> `WINEDEBUG=gdiplus,gdi,ddraw,graphics wine ./my.exe`, but analyzing
> output didn`t give my any results. Thanks!

Run with `WINEDEBUG=loaddll wine my.exe` and ensure that builtin
gdiplus is being used.

-- 
-Austin



More information about the wine-devel mailing list