Resim Boyut Küçültme Yardım

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
en-crazy
Üye
Mesajlar: 17
Kayıt: 28 Ara 2011 04:41

Resim Boyut Küçültme Yardım

Mesaj gönderen en-crazy »

Merhaba arkadaşlar.Projemde ekran görüntüsü .bmp olarak alıyor.Fakat resmin boyutu 3 mb civarlarında olduğu için bende .bmp uzantısını .jpg formatına dönüştürdüm.Sonuç olarak 200-300 kb boyutlarında oluyor.Bunu daha küçük boyutlara dönüştürebilir miyim? Yardımlarınız için şimdiden teşekkürler...
doktoraltun
Üye
Mesajlar: 73
Kayıt: 06 Oca 2012 06:56

Re: Resim Boyut Küçültme Yardım

Mesaj gönderen doktoraltun »

bazı resim düzenleyicilerde kaliteyi düşürme diye bir seçenek var onunla dahada ufaltabilirsin ama görüntü kalitesi düşüyor
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Resim Boyut Küçültme Yardım

Mesaj gönderen csunguray »

JPEG kalite kayıplı bir fotoğraf formatıdır. Yani bir fotoğrafı BMP den JPEG e çevirdiğinizde bir kısım kalite kaybı oluşur. Bu kalite kaybının ne kadar olacağını ayarlayabilirsiniz. Yani daha küçük dosya boyutları elde etmek için kaliteyi biraz aşağıya çekebilirsiniz.

Delphi de

Kod: Tümünü seç

TJpegImage.CompressionQuality
özelliğini kullanarak kaliteyi ayarlayabilirsiniz. CompressionQuality özelliği fotoğrafın kalitesini gösteren 0 ile 100 arası bir sayıdır. CompressionQuality 'i 100 verdiğinizde en kaliteli sonucu elde edersiniz ama dosya boyutu büyük olur.

Aşağıdaki sayfada kullanmış olduğunuz kalite yüzdesinin dosya boyuna etkisini yaklaşık olarak gösteren bir tablo var.
http://www.techrepublic.com/article/del ... gs/5031886

BMP dosyalarını JPG dosyalarına çeviren ve komut satırından bir Delphi programı:

Kod: Tümünü seç

program BMP2JPG;

 {$APPTYPE CONSOLE}

 uses
  Classes, Graphics, JPEG, SysUtils;


 var
  Bitmap: TBitmap;
  Stream: TFileStream;

 begin
  writeln('BMP2JPG 2.0 (c) 2002 by Bob Swart (aka Dr.Bob - http://www.drbob42.com)');
  if ParamCount = 0 then
  begin
    writeln('Usage: BMP2JPG file.bmp [%%]');
    writeln;

    writeln('Where "file.bmp" is the BMP file to convert to JPG,');
    writeln('and %% is the compression quality (100% by default)')
  end
  else
  begin
    Bitmap := TBitmap.Create;
    try
      Bitmap.LoadFromFile(ParamStr(1));
      with TJPEGImage.Create do
      try
        Assign(Bitmap);
       if ParamCount > 1 then
          CompressionQuality := StrToIntDef(ParamStr(2),100);
        Stream := TFileStream.Create(ChangeFileExt(ParamStr(1),'.JPG'),fmCreate);
        try
          SaveToStream(Stream)
        finally
          Stream.Free
       end
      finally
        Free
      end
    finally
      Bitmap.Free
    end
  end

 end.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
en-crazy
Üye
Mesajlar: 17
Kayıt: 28 Ara 2011 04:41

Re: Resim Boyut Küçültme Yardım

Mesaj gönderen en-crazy »

Kod: Tümünü seç

var
bmp : TImage;
jpg : TJpegImage;
begin
bmp := TImage.Create(nil);
jpg := TJpegImage.Create;
bmp.picture.bitmap.LoadFromFile ( 'c:\resim5.bmp' );
jpg.Assign( bmp.picture.bitmap );
jpg.SaveToFile ( 'c:\resim.jpg' );
jpg.Free;
bmp.Free;
Yardımınız için teşekkürler.Ben format değiştirirken şu komutu kullanıyorum.Fakat kalite değiştirmeyi bu kod satırına uygulayamadım.Acaba nereye yazmam gerekiyor?
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Resim Boyut Küçültme Yardım

Mesaj gönderen csunguray »

en-crazy yazdı: var
bmp : TImage;
jpg : TJpegImage;
begin
bmp := TImage.Create(nil);
jpg := TJpegImage.Create;
bmp.picture.bitmap.LoadFromFile ( 'c:\resim5.bmp' );
jpg.Assign( bmp.picture.bitmap );
jpg.CompressionQuality := 70; //---> Bu satırı ekle
jpg.Compress; //---> Bu satırı ekle
jpg.SaveToFile ( 'c:\resim.jpg' );
jpg.Free;
bmp.Free;
...
...
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
en-crazy
Üye
Mesajlar: 17
Kayıt: 28 Ara 2011 04:41

Re: Resim Boyut Küçültme Yardım

Mesaj gönderen en-crazy »

Sunguray hocam süpersiniz.Çok teşekkür ederim :)
Cevapla