2009-08-04 7 views
0

Ich versuche, eine transparente (alpha) PNG-Bild mit CxImage zu ziehen, aber es scheint, ich bin einige offensichtliche Schritt fehlt ... Der Code ist so weit:Zeichnung transparent/alpha Bilder mit CxImage

CxImage image(m_pImage, m_lSize, CXIMAGE_FORMAT_UNKNOWN); 

CRect rcOut = rc; 
rcOut.left = (rc.Width()/2) - (image.GetWidth()/2); 
rcOut.right = rcOut.left + image.GetWidth(); 
rcOut.top = (rc.Height()/2) - (image.GetHeight()/2); 
rcOut.bottom = rcOut.top + image.GetHeight(); 

image.Draw(dc.GetSafeHdc(),rcOut); 

wo m_pImage an anderer Stelle geladen werden:

CxImage image(strPath,CXIMAGE_FORMAT_UNKNOWN); 
long lSize = 0; 
BYTE * pBuf = NULL; 

RGBQUAD rgbq; 
rgbq.rgbRed = 255; 
rgbq.rgbGreen = 255; 
rgbq.rgbBlue = 255; 
rgbq.rgbReserved = 0; 

image.Thumbnail(paramImageSize, paramImageSize, rgbq); 
image.SetJpegQuality(100); 
image.Encode(pBuf, lSize, CXIMAGE_FORMAT_JPG); 

können Sie sehen, was ich dabei bin?

Vielen Dank im Voraus!

Antwort

0

Es scheint, dass die Thumbnail() -Funktion dieses Problem zusammen mit dem Zielformat JPEG verursacht hat. In Resample2() und PNG geändert und es ist in Ordnung.