Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Resim Boyutunu Küçültme
#1
Merhaba,
Mobil uygulamam içerisinde galeriden resim seçimi yaptırıyorum. Bu resimleri veritabanında saklıyorum. Vcl için resim boyutlandırma(küçültme) mümkün fakat mobilde nasıl bir yol izliyorsunuz. Çünkü 3-5 mb'lık resimler var. Bunları saklamanında geri yüklemeninde bir maliyeti var. Şimdiden önerileriniz için teşekkürler...
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#2
(12-12-2018, Saat: 02:15)narkotik Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba,
Mobil uygulamam içerisinde galeriden resim seçimi yaptırıyorum. Bu resimleri veritabanında saklıyorum. Vcl için resim boyutlandırma(küçültme) mümkün fakat mobilde nasıl bir yol izliyorsunuz. Çünkü 3-5 mb'lık resimler var. Bunları saklamanında geri yüklemeninde bir maliyeti var. Şimdiden önerileriniz için teşekkürler...

Merhaba, Bir projemde kullanmıştım kodları. Çalışıyor.. Kendinize göre uyarlarsınız.. Image 6 da kameradan çekilen büyük resim var, Bunu 64x64 e küçütüp imahe 10 a basıyorum ordan da db nin ilgili field'i ne iliştiriyorum.



var
  ms, msk: TMemoryStream;
 Surf,surfk: TBitmapSurface;
 V: Variant;
 saveParams : TBitmapCodecSaveParams;


    if not Image6.Bitmap.IsEmpty then
    begin
     ms := TMemoryStream.Create;
     msk := TMemoryStream.Create;
     Surf := TBitmapSurface.Create;
     Surfk := TBitmapSurface.Create;
     Image10.Bitmap.Assign(Image6.Bitmap);
     Image10.Bitmap.Resize(64, 64);
     Surf.Assign(image6.Bitmap);
     Surfk.Assign(image10.Bitmap);
     Saveparams.Quality := 50;
     TBitmapCodecManager.savetostream(ms, Surf, '.jpg',@SaveParams);
     TBitmapCodecManager.savetostream(msk, Surfk, '.jpg',@SaveParams);
     ms.Position := 0;
     msk.Position := 0;
     TBlobField(MT.FieldByName('parca_res1')).LoadFromStream(ms);
     TBlobField(MT.FieldByName('parca_res1k')).LoadFromStream(msk);
     ms.Free;
     msk.Free;
     image6.Bitmap := nil;
     image10.Bitmap := nil;
     surf.Free;
     surfk.Free;
   end;
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#3
Kalite ayarı yapabiliyorsunuz.

var
 CodecParams: TBitmapCodecSaveParams;

///....
begin
 CodecParams.Quality := 50;
 Image1.bitmap.SaveToFile('..\..\i10.jpg', @CodecParams);
end;

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Ağlarsa kablosuz ağlar, gerisi yerel ağlar...
Cevapla
#4
(12-12-2018, Saat: 12:22)mcuyan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(12-12-2018, Saat: 02:15)narkotik Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba,
Mobil uygulamam içerisinde galeriden resim seçimi yaptırıyorum. Bu resimleri veritabanında saklıyorum. Vcl için resim boyutlandırma(küçültme) mümkün fakat mobilde nasıl bir yol izliyorsunuz. Çünkü 3-5 mb'lık resimler var. Bunları saklamanında geri yüklemeninde bir maliyeti var. Şimdiden önerileriniz için teşekkürler...

Merhaba, Bir projemde kullanmıştım kodları. Çalışıyor.. Kendinize göre uyarlarsınız.. Image 6 da kameradan çekilen büyük resim var, Bunu 64x64 e küçütüp imahe 10 a basıyorum ordan da db nin ilgili field'i ne iliştiriyorum.



var
  ms, msk: TMemoryStream;
 Surf,surfk: TBitmapSurface;
 V: Variant;
 saveParams : TBitmapCodecSaveParams;


    if not Image6.Bitmap.IsEmpty then
    begin
     ms := TMemoryStream.Create;
     msk := TMemoryStream.Create;
     Surf := TBitmapSurface.Create;
     Surfk := TBitmapSurface.Create;
     Image10.Bitmap.Assign(Image6.Bitmap);
     Image10.Bitmap.Resize(64, 64);
     Surf.Assign(image6.Bitmap);
     Surfk.Assign(image10.Bitmap);
     Saveparams.Quality := 50;
     TBitmapCodecManager.savetostream(ms, Surf, '.jpg',@SaveParams);
     TBitmapCodecManager.savetostream(msk, Surfk, '.jpg',@SaveParams);
     ms.Position := 0;
     msk.Position := 0;
     TBlobField(MT.FieldByName('parca_res1')).LoadFromStream(ms);
     TBlobField(MT.FieldByName('parca_res1k')).LoadFromStream(msk);
     ms.Free;
     msk.Free;
     image6.Bitmap := nil;
     image10.Bitmap := nil;
     surf.Free;
     surfk.Free;
   end;

Teşekkürler akşam deneyip performans olayinida inceleyip geri dönüş yaparim

(12-12-2018, Saat: 15:02)engerex Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Kalite ayarı yapabiliyorsunuz.

var
 CodecParams: TBitmapCodecSaveParams;

///....
begin
 CodecParams.Quality := 50;
 Image1.bitmap.SaveToFile('..\..\i10.jpg', @CodecParams);
end;

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Teşekkürler
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#5
procedure TFrameNote.PhotoLibrarySelectDidFinishTaking(Image: TBitmap);
Var
 imageStream  :  TMemoryStream;
 imageSurf    :  TBitmapSurface;
 resizeParams :  TBitmapCodecSaveParams;
begin
 imageStream  := TMemoryStream.Create;
 imageSurf    := TBitmapSurface.Create;
 try
   imageSurf.Assign(Image);
   resizeParams.Quality := 25;
   TBitmapCodecManager.SaveToStream(imageStream, imageSurf, '.jpg',@resizeParams);
   imageStream.Position := 0;
   ImgResim.Bitmap.LoadFromStream(imageStream);
 finally
   imageStream.Free;
   imageSurf.Free;
 end;
end;

ile işlemler tamamlanmıştır. Konuda yardımcı olan arkadaşlara teşekkürler...
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  listview resim çekme theercan 0 131 29-07-2019, Saat: 10:48
Son Yorum: theercan
  Resim Ortlama Problemi zihnidede 5 441 03-05-2019, Saat: 16:30
Son Yorum: Fesih ARSLAN
  Image nesnesinde resim olup olmadığın kontrolü 41linea41 5 527 17-03-2019, Saat: 15:11
Son Yorum: mrmarman
  Cep telefonundan resim yakalama esnasında onay sorusu cinarbil 3 480 07-02-2019, Saat: 10:40
Son Yorum: mrmarman
  [Çözüldü] İmage - Resim bozulması ? Mr.Developer 6 960 12-12-2018, Saat: 17:18
Son Yorum: Mr.Developer



Konuyu Okuyanlar: 1 Ziyaretçi