14-08-2013, 01:15 AM
شكرا لك اخي بارك الله فيك
جربته xe2 لم يحدث اي شئ
استخدمت هذا
وهو يعمل
لكن الحجم حجم الصورة بقي نفسه
ما ابحث عنه هو عند عمل برنت سكرين لسطح المكتب وجودة الصورة متوسطة يكون حجم الصورة 300 كيلو
وارسالها باستمرار يؤثر ويعمل ثقل على الاتصال
الفكرة هي تقليل حجم الصورة بتحويلها ل ابيض واسود بعد تحويلها ل jpg مع بقاء الجودة جيدة
**** ان كون وضحت الفكرة
جربته xe2 لم يحدث اي شئ
استخدمت هذا
كود :
procedure ImageGrayScale(var AnImage: TImage);
var
JPGImage: TJPEGImage;
BMPImage: TBitmap;
MemStream: TMemoryStream;
begin
BMPImage := TBitmap.Create;
try
BMPImage.Width := AnImage.Picture.Bitmap.Width;
BMPImage.Height := AnImage.Picture.Bitmap.Height;
JPGImage := TJPEGImage.Create;
try
JPGImage.Assign(AnImage.Picture.Bitmap);
JPGImage.CompressionQuality := 100;
JPGImage.Compress;
JPGImage.Grayscale := True;
BMPImage.Canvas.Draw(0, 0, JPGImage);
MemStream := TMemoryStream.Create;
try
BMPImage.SaveToStream(MemStream);
//you need to reset the position of the MemoryStream to 0
MemStream.Position := 0;
AnImage.Picture.Graphic.LoadFromStream(MemStream);
AnImage.Refresh;
finally
MemStream.Free;
end;
finally
JPGImage.Free;
end;
finally
BMPImage.Free;
end;
end;وهو يعمل
لكن الحجم حجم الصورة بقي نفسه
ما ابحث عنه هو عند عمل برنت سكرين لسطح المكتب وجودة الصورة متوسطة يكون حجم الصورة 300 كيلو
وارسالها باستمرار يؤثر ويعمل ثقل على الاتصال
الفكرة هي تقليل حجم الصورة بتحويلها ل ابيض واسود بعد تحويلها ل jpg مع بقاء الجودة جيدة
**** ان كون وضحت الفكرة

