Thema: Delphi Bitmap Ränder entfernen

Einzelnen Beitrag anzeigen

Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Bitmap Ränder entfernen

  Alt 13. Aug 2007, 18:06
Okay, also folgendes:
Dest ist das Ziel-Rechteck. Am besten nimmst du dir ein neues Bitmap (neues erstellen, Width und Height musst du entsprechend anpassen).
Das Recteck für Dest sieht dann so aus: Rect(0, 0, neuesBitmap.Width, neuesBitmap.Height);
Canvas ist die Canvas von deinem Quell-Bitmap, also altesBitmap.Canvas;
Source ist das Quell-Rechteck: Rect(VLeft, VTop, ....);
für den rechten und unteren Rand musst du selbst überlegen:
Was ist VRight und VBottom?
Sind das die rechte bzw. untere Grenze als Gesamtzahl oder nur der Abstand (also zB dein Bitmap ist 100 Pixel hoch und du willst unten 5 Pixel abschneiden: hat VBottom dann den Wert 5 oder 95 ?)
Für das Rect() benötigst du, da wo ich .... geschrieben habe letzteres, also in dem Fall die 95.
ggf. musst du dir diese Zahl dann selbst aus Width bzw. Height des alten Bitmaps berechnen.

Hoffe ich konnte dir helfen...

//Nachtrag:
Du brauchst nicht unbedingt ein neues Bitmap zu erstellen.
Für das Dest-Rechteck musst du nur die neue Breite und Höhe berechnen und diese dann übergeben.
Zum Schluss setzt du dann Bitmap.Width und Bitmap.Height einfach auf die neue Breite/Höhe
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat