Resimden Karaktere

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Resimden Karaktere

Mesaj gönderen mege »

geçenlerde forumda başka bir iş için verilen kodu biraz modifiye edip
verdiğiniz bitmap resmi karakter olarak renkli html sayfa yapan bir hale getirdim.
sonuç çok güzel, bakınız benim resmim

http://members.lycos.co.uk/mtngndz/dosyalar/a.html

formunuza bir adet image nesnesi atın ve bmp resim yükleyin.
bir de buton.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  List: TStringList;
  b1: TBitmap;
  c1: PByteArray;
  x, y: Integer;
  s:string;
begin
try
  list := TStringList.Create;
  list.Clear;
  list.Add('<html>');
  list.Add('<FONT SIZE=1><FONT FACE="Arial">');
  b1 := Image1.Picture.Bitmap;
  for y := 0 to b1.Height - 1 do
  begin
    c1 := b1.Scanline[y];
    s:='';
    for x := 0 to (b1.Width - 1)*3 do
       if (x mod 3) = 2 then
         s:= s+ '<span style="color: rgb('+ inttostr(c1[x])+','+inttostr(c1[x])+','+inttostr(c1[x])+');">M</span>';
    list.Add(s+'<BR>');
  end;
  list.Add('</FONT>');
  list.Add('</html>');
  list.SaveToFile('c:\a.html');
finally
  list.Free;
end;
end;
:oops: renk kodlamayla ilgili problem olablir. resmin rengi mat çıkıyor. bilien bi arkadaş ilgilenirse sevinirim :)
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Metin Dostum güzel olmuş eline sağlık bunu geliştirmek lazım :wink:

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7602
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

geçen gün ben benzer bir program görmüştüm. Çok güzel olmuş :) Eline sağlık.

Kolay gelsin.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

hocam bi eilm boşalsın düzeltiriz bunu..
aklıma gelen karakter satırları arasındaki boşluğu azaltmak onuda buldum ama vakit yok inşallah haftaya betayı salarız :)
başa bunu ekleyince işlem tamam.. :)

Kod: Tümünü seç

<P STYLE="margin-bottom: -0.5cm">
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

waaay... Hocam çok güzel ve ilginç olmuş.....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

Bravo, Tebrik ediyorum, çok güzel olmuş

Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

yine döktürmüşsün :wink: mege
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
name
Kıdemli Üye
Mesajlar: 243
Kayıt: 09 Ağu 2003 02:11
Konum: İstanbul

Mesaj gönderen name »

Bende tebrik ederim. Gayet güzel olmuş
name
Kıdemli Üye
Mesajlar: 243
Kayıt: 09 Ağu 2003 02:11
Konum: İstanbul

Mesaj gönderen name »

Kod: Tümünü seç

<span style="color: rgb('+ inttostr(c1[x])+','+inttostr(c1[x])+','+inttostr(c1[x])+');">M</span>
Burada x değeri üç renk (red,green,blue) içinde aynı değeri alıyor. Bundan dolayı gri ve gri tonlarında renkler oluşuyor.
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

@name e teşekkürler dediğin gibiymiş :)

örnek : http://members.lycos.co.uk/mtngndz/dosyalar/a.html

Kodun son hali sadece x ler x x-1 ve x-2 yaptım renkler geldi :P

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  List: TStringList;
  b1: TBitmap;
  c1: PByteArray;
  x, y: Integer;
  s:string;
begin
try
  list := TStringList.Create;
  list.Clear;
  list.Add('<html>');
  list.Add('<FONT SIZE=1><FONT FACE="Arial">');
  b1 := Image1.Picture.Bitmap;
  for y := 0 to b1.Height - 1 do
  begin
    c1 := b1.Scanline[y];
    s:='';
    for x := 0 to (b1.Width - 1)*3 do
       if (x mod 3) = 2 then
         s:= s+ '<span style="color: rgb('+ inttostr(c1[x])+','+inttostr(c1[x-1])+','+inttostr(c1[x-2])+');">M</span>';
    list.Add(s+'<BR>');
  end;
  list.Add('</FONT>');
  list.Add('</html>');
  list.SaveToFile('c:\a.html');
finally
  list.Free;
end;
end;
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Vay bu haliyle çok daha güzel. Tekrar eline sağlık Hocam.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Cevapla