jpg als bmp darstellen

Soltep

Grünschnabel
guten tag

ich habe mal wieder ein problem. ich hoffe ich bin hier richtig.

ich habe ein programm wo ich hauptsächlich .bmp´s darstellen muß.
das klappt soweit auch ganz gut. das problem ist jetzt das ich auch zwei oder drei jpg´s hab. kein problem dachte ich mir und hab die mit paint einfach in bmp konvertiert (mit speichern als...) nur sieht das ergebnis so aus:
neubitmapqb0.jpg


sollte aber so aussehen:
1normannenhelm1pl2.png


in paint sehen beide, also die jpg und bmp version gleich aus. nur im programm ncht. anscheinend geht irgendwas verloren? was mache ich verkehrt?
hab auch schon andere programme zu konvertierung benutzt. immer mit dem selben ergebnis.

meine funktion zur darstellung sieht so aus:

void CKaestchenwandernView::bild_malen(int wert, CRect rect)
{
CClientDC *pzeigDC ,zeigDC(this) ;

pzeigDC=&zeigDC;
CRect rectclient;
GetClientRect(&rectclient);

CDC memDC,*pDC;
pDC=&memDC;

CBitmap bitmappe, *pOldBitmap;
bitmappe.LoadBitmap(wert);

memDC.CreateCompatibleDC(pzeigDC);

pOldBitmap=memDC.SelectObject(&bitmappe);

BITMAP bm;

bitmappe.GetBitmap(&bm);
zeigDC.StretchBlt(rect.left, rect.top, rect.right-rect.left, rect.bottom-rect.top, &memDC, 0,0,bm.bmWidth, bm.bmHeight, SRCCOPY);
}

hat einer eine idee? bin echt am verzweifeln. mit der suche hab ich nix gefunden. vieleicht bin ich da aber auch schon dafür zu doof.
 
Hallo,

ich denke mal, das liegt am Skalieren. Wenn mit "StretchBlt()" die Größe geändert wird , ist das Ergebnis meistens recht bescheiden. Wenn denn schon skaliert werden soll, ist es besser mit GDI+ zu arbeiten.
Du kannst ja mal mit "BitBlt()" versuchen, ob das Bild dann in vernünftiger Qualität ausgegeben wird. Das würde meine Vermutung bestätigen.

Gruß
MCoder
 
Zurück