İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. SDN Forum
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

Delphi ile resim resize etme?

rastlantisal30.05.20112 cevap4.849 görüntüleme
#1
Merhaba arkadaşlar.
Kullandığımız programdan excele veritabanından (oracle) rapor oluşturmak için bir programcık hazırladık. Program gayet güzel çalışıyor. Sorun şurdaki veritabanımızdaki resimler büyük ve raporun şeklini fazlası ile bozuyor.
Resmi, veritabanından hafızaya yazdırıp oradan tekrar buldurarak rapora yapıştırıyorum. buna göre bana lazım olan ise:
Hafızaki resmin boyutunu %50 oranında küçüktebilecek bir kod grubu. Hafızadaki resmi alıp %50 küçültüp tekrar hafızaya yazmam gerekiyor.
Yardımlarınız için şimdiden çok teşekkür ederim.
Saygılarımla
Ümit KOÇ
Cevaplar
#2
Şöyle bir şey buldum.
thumbnail := Form1.GetFormImage; burada kendi istediğin resmi
ataman gerekecek.
Bir de aşağıdaki sitede anlatılıyor ama İngilizce.
http://www.davdata.nl/math/bmresize.html

const maxWidth = 200; maxHeight = 150; var thumbnail : TBitmap; thumbRect : TRect; begin thumbnail := Form1.GetFormImage; try thumbRect.Left := 0; thumbRect.Top := 0; //proportional resize if thumbnail.Width > thumbnail.Height then begin thumbRect.Right := maxWidth; thumbRect.Bottom := (maxWidth * thumbnail.Height) div thumbnail.Width; end else begin thumbRect.Bottom := maxHeight; thumbRect.Right := (maxHeight * thumbnail.Width) div thumbnail.Height; end; thumbnail.Canvas.StretchDraw(thumbRect, thumbnail) ; //resize image thumbnail.Width := thumbRect.Right; thumbnail.Height := thumbRect.Bottom; //display in a TImage control Image1.Picture.Assign(thumbnail) ; finally thumbnail.Free; end; end;
rastlantisal Konuyu açan
#3
Çok teşekkür ederim hemen deniyorum.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.

Reklam