Çok Yakında Yeni Bir Arayüzle karşınızdayız! http://yeni.delphican.com/

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
ÇÖZÜLDÜ-dikdörtgen alanın resim pixel renk değerlerini okuma
#1
arkadaşlar bir resimde x,y (50,50)  noktasından itibaren 40 pixel saga doğru 60 pixel aşagı doğru renk degerlerini okumam lazım.


_renkEsik:=2000000;

   Image1.Canvas.Pixels[50,50]>_renkEsik then begin Image1.Canvas.Pixels[50,50]:=clLime; end;

burda 50,50 pixelinin renk değerini karşılaştırıyorum 2 milyondan büyükse renk değiştir yapabiliyorum  ama benim 40x60 pixel bir alanı taramam lazım.  bunun pratik bir yolu var mı 

sayılarımla
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
iyne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#2
const _renkEsik = 2000000;


procedure Tform1.resmiTara( image: Timage; x, y, w, h: word );
 var i, j: word;
 begin
   if ( x > image.Width ) or ( y > image.height ) or
      ( x + w > image.width ) or ( y + h > image.height ) then exit;

   for j := y to y + h do
     for i := x to x + w do
      if image.Canvas.Pixels[ i, j ] > _renkEsik then image.Canvas.Pixels[ i, j ] := clLime;
 end;


procedure TForm1.Button1Click(Sender: TObject);
begin
 resmiTara( image1, 1, 1, 40, 60 );     
end;
 


Performans çok önemli değilse ve VCL de yazıyorsan yukarıdaki gibi yapabilirsin.
Performans için bitmap in scanline özelliği kullanılmalı. FMX de ise kullanım şekli daha farklı.
Cevapla
#3
teşekkürler hocam tam istediğim gibi bir algoritma olmuş elinize sağlık bu kodu döngü içinde 10 defa tekrarlatacağım
hız konusunda sorun olmaz diye düşünüyorum.
ama scanline olayını merak ediyorum araştırıp denemeye çalışacağım saygılarımla
teşekkürler
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
iyne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  [ÇÖZÜLDÜ] dbdatetine wiseman 6 248 01-12-2019, Saat: 09:31
Son Yorum: SimaWB
  [ÇÖZÜLDÜ] basılı tutma info@guzelceker.com 9 233 27-11-2019, Saat: 16:47
Son Yorum: info@guzelceker.com
  [ÇÖZÜLDÜ]tclientdataset sorgulama wiseman 7 210 27-11-2019, Saat: 12:20
Son Yorum: wiseman
  [ÇÖZÜLDÜ] ptinrect flowpanel işlemiyor info@guzelceker.com 10 262 27-11-2019, Saat: 10:26
Son Yorum: info@guzelceker.com
Smile TBCDField,TFMTBCDField , floattostr tip dönüşüm hatası(çözüldü) 41linea41 2 80 22-11-2019, Saat: 20:34
Son Yorum: 41linea41



Konuyu Okuyanlar: 1 Ziyaretçi