Einzelnen Beitrag anzeigen

DerDan

Registriert seit: 15. Nov 2004
Ort: Donaueschingen
251 Beiträge
 
Delphi XE3 Professional
 
#6

Re: Schwarzer Bereich aus Bitmap entfernen

  Alt 14. Dez 2004, 22:39
Du möchtest das Bild automatisch verkleinern ?

dann kannst du etwa so vorgehen:


Delphi-Quellcode:
pPixelLine := Bmp.ScanLine [0];
BackColor := pPixelLine^.[0];

// oberste BMP Zeile suchen die nicht einfarbig ist:
Top := -1;
for Y := 0 to Bmp.Height do
begin
  pPixelLine = Bmp.ScanLine [y];
  for x := 0 to bmp.Width do
  begin
    if BakcColor <> pPixelLine^.[0] then
    begin
       Top := y;
       break;
    end;
    if Top >= 0 then begin
      break;
    end;
  end;
end;
dann suchst du noch
von unten nach oben,
von rechts nach links und
von links nach rechts
um alle vier Kanten
deines neuen Rechtecks zu ermitteln.

dann noch ausschneiden -> fertig

die Typen von
BackColor und pPixelLine
sind davon abhängig in welchem Format deine Bmp daherkommt.

das kann man mit bmp.PixelFormat abfragen


DerDan
nichts ist so schön wie man es sich vorstellt
  Mit Zitat antworten Zitat