AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi TBitmap nur zusammenhängende Pixel kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

TBitmap nur zusammenhängende Pixel kopieren

Ein Thema von endeffects · begonnen am 28. Apr 2005 · letzter Beitrag vom 3. Mai 2005
 
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#1

TBitmap nur zusammenhängende Pixel kopieren

  Alt 28. Apr 2005, 12:27
Hallo,

ich möchte aus einem TBitmap nur Pixel einer Farbe kopieren
die zum selben Objekt gehören, was allerdings gar nicht so einfach ist.
ähnlich dem photoshop werkezug "zauberstab" mit der option "benachbart".

angefangen hab ich nun mit einer methode die das bild von links nach recht
spaltenweise (!) einliest und alle pixel der selben farbe in ein zweites
bitmap kopiert:

Delphi-Quellcode:
  x:= 0;
  while x < CacheBitmap.Width - 1 do
  begin
    for y := 0 to CacheBitmap.Height - 1 do
    begin
      P := CacheBitmap.ScanLine[y];
      for i:= 0 to x do
        inc(P);
      if (P^.rgbRed = 0) and (P^.rgbGreen = 0) and (P^.rgbBlue = 0) then
      begin
        MyRect:= Rect(x, y, SmartBitmap.Height-1, SmartBitmap.Width-1);
        MyOther:= Rect(x,y,SmartBitmap.Height-1, SmartBitmap.Width-1);
        SmartBitmap.Canvas.CopyRect(MyOther,CacheBitmap.Canvas,MyRect);
      end;
    end;
    inc(x);
  end;
zusätzlich habe ich auch schon mit einem zweiten pointer experimentiert,
der den nächst liegenden rechten pixel mit dem aktuellen vergleicht.
mein problem allerdings bleibt bestehen, wie erkenne ich wann welcher
pixel zur selben form gehört. hat da jemand vielleicht eine idee?

ein gutes beispiel um das zu veranschaulichen wäre z.B. das 'E' und die '3'.
von links nach recht gelesen fällt es besonders bei der '3' schwer die pixel zu zuordnen.

mfg
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz