J'utilise C++ GDI, StretchDIBits pour dessiner des images sur DC. Parce que l'image d'origine est grande et de haute qualité est nécessaire. J'utilise le mode HAFTONE, pour dessiner l'image entière sur DC (zoom sur l'image) semble temps comsuming. Je décide donc de dessiner partiellement en utilisant StretchDIBits. Mais il existe un problème sérieux concernant StretchDIBits.Image tremblant quand StretchDIBits partiellement
je ne peux tirer rect en nombres entiers à une région en nombres entiers (la largeur et la hauteur, et point supérieur gauche de x, y sont tous les entiers)
::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);
si, l'image est 21 * 21. Je dessine maintenant (5, 5, 7, 7) à DC, à (20, 20, 60,60), la prochaine fois que je veux dessiner à (21, 20, 61, 60). il n'y a pas d'emplacement correspondant à l'image originale. Je ne peux donc dessiner qu'une approximation rectale au DC. Maintenant le problème arrive, l'image est en train de trembler !!
Je suis ennuyé par ce problème. Comment éviter les secousses?