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


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

السلام عليكم اخواني واخواتي زوار واعضاء المنتدى الاعزاء عدنا اليكم والعود عود احمد بدورس جديدة في الImage Processing باستخدام لغة C#.Net, في الدرس السابق تعلمنا كيف نعملMirror او(FlipHorezintal) للصورة وذلك عن طريق عكس عرض الصورة بطريقة سهلة جدا, والآن سنتعلم FlipVertical و FlipBoth أي عكس الصورة بصورة عمودية وعكس الصورة بصورة افقية وعمودية معا.

[COLOR="#800000"]هيا لنعمل FlipVerticl للصورة :

الطريقة سهلة جدا وذلك بعكس ارتفاع او طول الصورة Height:

اليك الكود:[/COLOR]


PHP كود :
private void button1_Click(object senderEventArgs e
        { 
            
int v
            
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.Height i);//Flipping the column pixels 

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

[COLOR="#800000"]اما لعمل FlipHorezintal فكل ما عليك فعله هو عكس عرض(Width) الصورة ,اما اذا اردنا ان نعمل (FlipBoth) فنعكس طول و عرض الصورة معا(Height and Width)

اليك هذا الكود لعمل FlipBoth:[/COLOR]

PHP كود :
private void button2_Click(object senderEventArgs e
        { 
            
int hv
            
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 
                        
= (bmp.Height i);//Flipping the column pixels 
                        
p[2] = (byte)c[hv].R;//Red 
                        
p[1] = (byte)c[hv].G;//Green 
                        
p[0] = (byte)c[hv].B;//Blue 
                        
+= 3
                    } 
                    
+= remain
                } 
                
bmp.UnlockBits(bmpdata); 
            } 
            
pictureBox1.Image bmp
        } 

[COLOR="#800000"]والحمد لله انتهينا من الدرس الرابع الى ان القاكم في الدرس القادم بامكانكم طرح الاسئلة كي اجيب عنها قدر الامكان.
----------------------------------------------------------------------------------
[/COLOR]
الرد }}}}
تم الشكر بواسطة:
#2
شكرا لجهودك المبذولة
شـــايـفـــك

الرد }}}}
تم الشكر بواسطة:
#3
[COLOR="#800000"]السلام عليكم

العفو اخي العزيز انا في خدمة هذا المنتدى ان شاءاللهSmile

شكرا على المرور[/COLOR]
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  المعالجةالصورية (الدرس الثالث) Sajad 3 973 06-04-13, 12:27 PM
آخر رد: Sajad
  المعالجةالصورية (الدرس الخامس(Mirror)) Sajad 0 573 31-01-13, 08:16 PM
آخر رد: Sajad
  المعالجة الصورية (الدرس الثاني) Sajad 0 701 01-10-12, 05:45 PM
آخر رد: Sajad
  المعالجة الصورية (الدرس الاول) Sajad 0 1,136 01-10-12, 05:11 PM
آخر رد: Sajad

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


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