![]() |
|
تحويل الصورة ل ابيض واسود - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : تحويل الصورة ل ابيض واسود (/showthread.php?tid=5461) |
تحويل الصورة ل ابيض واسود - sa7er100 - 13-08-2013 السلام عليكم طريقة لتحويل الصورة ل ابيض واسود مع البقاء جودة الصورة وشكرا تحويل الصورة ل ابيض واسود - SMP3 - 13-08-2013 و عليكم السلام هذه دالة بسيطة تقوم بتحويل الصورة للأبيض و الاسود . PHP كود : TYPEتحويل الصورة ل ابيض واسود - sa7er100 - 14-08-2013 شكرا لك اخي بارك الله فيك جربته 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 مع بقاء الجودة جيدة **** ان كون وضحت الفكرة تحويل الصورة ل ابيض واسود - SMP3 - 14-08-2013 حجم الصورة لا يتغير بتحويلها الى أبيض و أسود !! السبب : عدد البيكسل يبقى ثابت .. ستتغير قيمة البيكسل فقط لكن عدد البيكسل قبل التحويل = عدد البيكسل بعد التحويل => حجم ثابت . يمكن تحويل ال Bmp الى صورة jpg ثم الى bmp مرة أخرى : ستحصل على حجم صغير مقارنة بالصورة الأولى بدون تحويلها للأسود و الأبيض . PHP كود : procedure ImageGrayScale(var AnImage: TImage);تحويل الصورة ل ابيض واسود - sa7er100 - 14-08-2013 شكرا جزيلا اخي على ردك التحويل ل JPG يخفض الحجم الى الربع على عكس ال bmp النصف |