delphi4arab منتديات دلفي للعرب

نسخة كاملة : التحكم فى جودة صورة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
[COLOR="RoyalBlue"]بسم الله الرحمن الرحيم

قبل سؤالي, احب ان اهنئ جميع الاعضاء الكرام بمناسبة استكمال الدورة.

سؤالي عن كيفية التحكم فى جودة الصورة, تحويلها الي ابيض و اسود "GrayScale", التقليل من جودتها الي 8bit او اقل.[/COLOR]
عموما, وجدت هذا الكود لعكس الوان صورة:

كود :
InvertRect(Image1.Canvas.Handle,Image1.ClientRect); Image1.Invalidate;

و اجابة سؤالي بعد بعض البحث:

كود :
Image1.Picture.Bitmap.PixelFormat := TPixelFormat([color=Blue][B]2[/B][/color]);
شكرا لك اخ جوبلين على وضع الجواب بعد السؤآل,, فهذا يفيدنا كثيرا,, بارك الله فيك
1- لجلب قيمة لون البيكسل (أمثلة):

إقتباس :GetRValue = $0000FF

إقتباس :GetYValue = $00FFFF

إقتباس :GetGValue = $008000

2- مثال لإستخراج نسبة اللون الأخضر حسب تموضع المؤشر على الصورة :

كود :
procedure TForm1.ImageMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); Var Gr:DWord; Begin Gr:=GetGValue(Image.Canvas.Pixels[X,Y]); GrLabel.Caption:=Format('<$%x>',[Gr]); End;

3- الأن يمكنك عمل إستثنا إذا كان نسبة اللون في البيكسل عالي ... نقوم بإدراج قيمة لون معين :
في المرفق .

بالتوفيق ,,
شكرا اخي tf6mehboul, المثال الذي ارفقته يتيح المزيد من التحكم.