Reactos Viewer Imageview_drawimage: ******************************** DPRINT1(x, y, width, height, rect.right, rect.bottom, uImgWidth, uImgHeight); uImgWidth/Height:Anchura/Altura real de la imagen. Width/Hight:Anchura/Altura de la miniaturizacion. rect.right/bottom: Anchura/Altura del Cliente Trace JPEG:x = 0 y = 26 Width = 511 Height = 297 rect.right = 511 rect.bottom = 349 uImgWidth = 1077 uImgHeight = 628 Trace BMP:x = 55 y = 24 Width = 400 Height = 300 rect.right = 511 rect.bottom = 349 uImgWidth = 400 uImgHeight = 300 Call: GdipDrawImageRect(graphics, image, x, y, width, height); GdipDrawImageRect (gdiplus->graphics.c) ************************ TRACE(graphics, image, x, y, width, height); Trace JPEG:(006387B0, 00639038, 00, 26, 511, 297) Trace BMP: (00638870, 00638830, 55, 24, 400, 300) Call: GdipGetImageBounds Critica1: GdipGetImageBounds (gdiplus->graphics.c) *************************** TRACE(bounds.X, bounds.Y, bounds.Width, bounds.Height); Trace JPEG:bounds.X:00,bounds.Y: 00, bounds.width: 1077,bounds.Height: 628 Trace BMP: bounds.X:00,bounds.Y: 00, bounds.width: 400,bounds.Height: 300 Critical2:GdipDrawImageRectRect(gdiplus->graphics.c) ******************************* TRACE(graphics, image, dstx, dsty, dstwidth, dstheight, srcx, srcy,srcwidth, srcheight, srcUnit, imageattr, callback, callbackData); TRACE JPEG:(006387B0, 00639038, 00, 26, 511, 297, 00, 00, 1077, 628, 2, 00000000, 00000000, 00000000) TRACE BMP: (00638870, 00638830, 55, 24, 400, 300, 00, 00, 400, 300, 2, 00000000, 00000000, 00000000) Call:GdiPDrawImagePointsRect (graphics, image, points, 3, srcx, srcy,srcwidth, srcheight, srcUnit, imageattr, callback, callbackData); GdipDrawImagePointsRect (gdiplus->graphics.c) ********************** TRACE(graphics, image, points,count, srcx, srcy, srcwidth, srcheight, srcUnit, imageAttributes, callback,callbackData); TRACEJPG:(006387B0, 00639038, 0062F844, 3, 000000, 000000, 001077, 000628, 2, 00000000, 00000000, 00000000) TRACEBMP:(00638870, 00638830, 0062F844, 3, 000000, 000000, 000400, 000300, 2, 00000000, 00000000, 00000000) --------------- TRACE(image->picture) TRACEJPG: 0 TRACEBMP: 6522512 --------------- TRACEJPG: Enterir at Else of the principal If. NO entramos en PIXELFORMAT32bppARGB ENTRAMOS EN temp_hdctrace TRACEBMP: Entering in the If dx: 000026 dy: 0000026 ImageType: 1 ImageType!= ImageTypeMetafile pti[0].x: 000000 pti[1].x:000000 pti[2].x:000000 pti[0].y:1319808001 pti[1].y:18446744071562067968 pti[2].y:1319808001 Native gdiplus uses gdi32 to do all this (via SetMapMode, SetViewportExtEx, * SetWindowExtEx, SetWorldTransform, etc.) but we cannot because we are using * gdi to draw, and these functions would irreparably mess with line widths. */ static void transform_and_round_points