تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
المعالجةالصورية (الدرس الخامس(Mirror))
#1
[COLOR="#800000"]بسم الله الرحمن الرحيم
((رب اشرح لي صدري ويسر لي أمري واحلل عقدة من لساني يفقه قولي))
صدق الله العلي العظيم


بسم الله الرحمن الرحيم
وصلى الله على محمد وآله الطاهرين[/COLOR]

[COLOR="#800000"]في هذا الدرس سوف نقوم بعكس الصورة, أي نعمل Mirror للصورة يعني عند استخدام هذا الكود سوف تظهر الصورة معكوسة وهذا هو الكود :
[/COLOR]

PHP كود :
int m
            
bmpdata bmp.LockBits(new Rectangle(00bmp.Widthbmp.Height), ImageLockMode.ReadWritePixelFormat.Format24bppRgb); 
            
IntPtr scan0 bmpdata.Scan0
            
unsafe 
            

                
stride bmpdata.Stride
                
remain stride bmp.Width 3
                
byte= (byte*)(void*)scan0
                for (
0bmp.Heighti++) 
                { 
                    for (
0bmp.Widthj++) 
                    { 
                        
= (bmp.Width j);//Flipping the row pixels 

                        
p[2] = (byte)c[mi].R;//Red 
                        
p[1] = (byte)c[mi].G;//Green 
                        
p[0] = (byte)c[mi].B;//Blue 
                        
+= 3
                    } 
                    
+= remain
                } 
                
bmp.UnlockBits(bmpdata); 
            } 
            
pictureBox1.Image bmp


اعزائي الكرام سنأتي الآن الى شرح الكود الآتي :

PHP كود :
= (bmp.Width j);//Flipping the row pixels  

                        
p[2] = (byte)c[mi].R;//Red  
                        
p[1] = (byte)c[mi].G;//Green  
                        
p[0] = (byte)c[mi].B;//Blue 

اولا:
PHP كود :
= (bmp.Width j);//Flipping the row pixels 

[COLOR="#800000"]اعزائي هذا السطر البرمجي هو الاهم في هذا الدرس لان من خلاله نقوم بعكس الصورة وذلك بعكس قيم عرض الصورة, لنأخذ المثال التالي لكي نفهم العملية بصورة أدق.

لو فرضنا انه لدينا القيم التالية وهي عبارة عن قيم او مكونات عرض الصورة للون الاحمر[/COLOR]


PHP كود :
200 198 120 149 60 44 49 

ولو فرضنا ان هذه القيم مخزونة في المواقع التالية من المصفوفة :

PHP كود :
c[0,0].R=200 
c
[1,0].R=198 
c
[2,0].R=120 
c
[3,0].R=149 
c
[4,0].R=60 
c
[5,0].R=44 
c
[6,0].R=49 


ويتضح لنا ان حجم المصفوفة=7 من حيث العرض, والان لنطبق المعادلة اعلاه على هذه المصفوفة لكي نرى الناتج:

PHP كود :
m=7-1-0=
c
[m,0].R=49 
//c[6,0].R=49 

m=7-1-1=
c
[m,0].R=
//c[5,0].R=44 

m=7-1-2=
c
[m,0].R=60 
//c[4,0].R=60 

m=7-1-3=
c
[m,0].R=149 
//c[3,0].R=149 

m=7-1-4=
c
[m,0].R=120 
//c[2,0].R=120 

m=7-1-5=
c
[m,0].R=198 
//c[1,0].R=198 

m=7-1-6=
c
[m,0].R=200 
//c[0,0].R=200 
[COLOR="#800000"]
الى هنا قمنا بعكس محتويات الصورة فقط, والان سوف نطبق هذه التغييرات على الصورة في الذاكرة وذلك عن طريق :[/COLOR]


PHP كود :
p[2] = (byte)c[mi].R;//Red  
                        
p[1] = (byte)c[mi].G;//Green  
                        
p[0] = (byte)c[mi].B;//Blue 


حيث سيأخذ الموقع الاول للصورة في الذاكرة قيمة الموقع الاخير من المصفوفة وهكذا الى ان تصبح الصورة معكوسة.
[COLOR="#800000"]

الحمد لله والشكر لله انتهينا من هذا الدرس من هذه السلسة وانا بانتظار استفساراتكم واسئلتكم وردودكم, ولا تنسوني و والدي من صالح دعائكم[/COLOR]
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  المعالجةالصورية (الدرس الثالث) Sajad 3 3,000 06-04-13, 12:27 PM
آخر رد: Sajad
  المعالجةالصورية (الدرس الرابع) Sajad 2 2,282 29-01-13, 10:44 PM
آخر رد: Sajad
  المعالجة الصورية (الدرس الثاني) Sajad 0 2,757 01-10-12, 05:45 PM
آخر رد: Sajad
  المعالجة الصورية (الدرس الاول) Sajad 0 3,142 01-10-12, 05:11 PM
آخر رد: Sajad

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم