SwordMaster Geschrieben 13. März 2005 Geschrieben 13. März 2005 Hallo leute ich habe ein Handle auf ein Bitmap (HBITMAP). ist es möglich dieses Bild auf eine Bestimte größe zu ziehen? sagen wir ich brauch das bild in der größe von 100x100 Pixeln! hab zwar schon in google gesucht, aber ich weiß nicht wirklich wie sowas aussehen könnte (vermutlich hab ich deshalb nichts gefunden) kann mir jemand helfen? wär toll Danke SwordMaster Zitieren
Guybrush Threepwood Geschrieben 13. März 2005 Geschrieben 13. März 2005 Willst du es mit einer anderen größe Speichern oder darstellen? guck dir mal StretchBlt() an. Zitieren
SwordMaster Geschrieben 13. März 2005 Autor Geschrieben 13. März 2005 am besten wär wenn ich ein neues HBITMAP bekomme was auf das "Neue verkleinerte Bitmap" verweist... ich möchte das bild dann in einem CStatic anzeigen <mit m_bild.SetBitmap(...)> an StretchBlt hätte ich auch schon gedacht, aber dazu brauch ich ja ein HDC und kein HBITMAP. oder kann ich ein HBITMAP auf ein HDC umwandeln?. Zitieren
Guybrush Threepwood Geschrieben 13. März 2005 Geschrieben 13. März 2005 Ich hab hier einen kleinen Ausschnitt aus einem Programm von mir, das sollte das Vorgehen verdeutlichen: HDC hDest,hSrc; HBITMAP hBitmap; BITMAP Info; //Bitmap laden //hBitmap = (HBITMAP)LoadImage(0,"c:\\test.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); //if (hBitmap == NULL) //{ //Wenn Bitmap nicht vorhanden Standartresource nehmen hBitmap = LoadBitmap(hInst,MAKEINTRESOURCE(IDB_BITMAP1)); //} //Infos über das Bitmap holen GetObject(hBitmap,sizeof(Info),&Info); hDest = GetDC(hMainWindow); //Device Context des Fensters holen hSrc = CreateCompatibleDC(hDest); //Compatiblen DC zum Fensters erstellen SelectObject(hSrc,hBitmap); //Bitmap in Compatiblen DC laden //Bitmap vom Compatiblen DC in den DC des Fensters kopieren //TransparentBlt(hDest,10,170,200,80,hSrc,0,0,Info.bmWidth,Info.bmHeight,RGB(195,196,195)); BitBlt(hDest,30,187,Info.bmWidth,Info.bmHeight,hSrc,0,0,SRCCOPY); //Variablen und Handles wieder freigeben ReleaseDC(hMainWindow,hDest); DeleteDC(hSrc); DeleteObject(hBitmap); [/PHP] Statt BitBlt kannst du ja einfach StretchBlt nehmen. Zitieren
SwordMaster Geschrieben 14. März 2005 Autor Geschrieben 14. März 2005 Das sieht mir sehr vielversprechend aus, ich werd schaun dass ich es heute noch testen kann! vielen dank für den Beispielcode!! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.