TImage + bmp + Bild zuschneiden per CopyRect [Gelöst]
-
Hallo, habe auf meiner Form ein TImage in welches in ein Bild (36*36) laden will, so noch kein Problem. Allerdings habe ich ein Bild welches 360*36 Pixel misst (an sich sind dies 10 * ein Bild 36*36 nebeneinander) und ich möchte nun (erstmal) nur die ersten 36*36 Pixel in TImage haben, später halb das Bild daneben usw.
Wollte hierfür CopyRecht bemühen aber leider bekomme ich keine Anzeige.
Hier mein bisheriger Code:
Graphics::TPicture* sBMP = new Graphics::TPicture(); // Quellbild (360*36) TRect sRECT = Rect(0,0,36,36); // Quellausschnitt Graphics::TPicture* dBMP = new Graphics::TPicture(); // Zielbild (36*36) TRect dRECT = Rect(0,0,36,36); // Zielausschnitt (brauch ich das?) sBMP->LoadFromFile("load.bmp"); // Das Bild laden dBMP->Bitmap->Canvas->CopyRect(dRECT, sBMP->Bitmap->Canvas, sRECT); img_send->Picture = dBMP;
-
Hallo,
dein dBMP hat noch keine Grösse, ergänze mal so in etwa:
dBMP->Width = 36; dBMP->Height = 36;
mfg
kpeter
-
Super, funktioniert. Vielen Dank kpeter!
Byte picNo = 7; Graphics::TPicture* sBMP = new Graphics::TPicture(); // Quellbild (360*36) TRect sRECT = Rect((picNo*36),0,(picNo*36+36),36); // Quellausschnitt Graphics::TPicture* dBMP = new Graphics::TPicture(); // Zielbild (36*36) TRect dRECT = Rect(0,0,36,36); // Zielausschnitt dBMP->Bitmap->Width = 36; dBMP->Bitmap->Height = 36; sBMP->LoadFromFile("load.bmp"); // Das Bild laden dBMP->Bitmap->Canvas->CopyRect(dRECT, sBMP->Bitmap->Canvas, sRECT); img_send->Picture = dBMP;