Ich verwende C++ GDI, StretchDIBits, um Bilder auf DC zu zeichnen.Bild schütteln, wenn StretchDIBits teilweise
Da das Originalbild groß ist und hohe Qualität benötigt wird. Ich benutze HAFTONE-Modus, um das gesamte Bild auf DC (Zoom das Bild) scheint zeitaufwendig.
So entscheide ich mich, teilweise mit StretchDIBits zu zeichnen. Aber es gibt ein ernstes Problem über StretchDIBits.
I kann nur rect in ganzen Zahlen zu einem Bereich, in ganzen Zahlen ziehen (die Breite und Höhe und linken oberen Punkt x, y alle ganzen Zahlen)
::SetStretchBltMode(hdc, HALFTONE);
::StretchDIBits(hdc,
realDrawRect.left,
realDrawRect.top,
realDrawRect.right - realDrawRect.left,
realDrawRect.bottom - realDrawRect.top,
left,
top,
width,
height,
pImageDIB,
pImageHead,
DIB_RGB_COLORS, SRCCOPY);
wenn das Bild 21 ist, * 21. Jetzt zeichne ich (5, 5, 7, 7) nach DC, bei (20, 20, 60,60), das nächste Mal, wenn ich zeichnen möchte (21, 20, 61, 60). Es gibt keine entsprechende Position am Originalbild. Also kann ich nur eine Approximation rect an den DC zeichnen. Jetzt passiert das Problem, das Bild zittert !!
Ich ärgere mich über dieses Problem. Wie kann ich das Schütteln vermeiden?