C# - Image Loading to PictureBox

Posted by ေတဇာလင္း Wednesday 18 January 2017 0 comments

မိတ္ေဆြ၊ ညီအစ္ကို၊ ေမာင္ႏွမအားလံုးပဲ မဂၤလာပါဗ်ာ။ ဒီေန႔ေတာ့ VS C# ကိုအသံုးျပဳၿပီး မိမိစိတ္ႀကိဳက္ Image တစ္ခုကို Picture Box ေပၚသို႔ ဘရ္လိုဆြဲတင္ႏိုင္မလဲဆိုတာေလးကို ေလ့လာၾကည့္ၾကပါ့မရ္။ က်ေနာ့္ ေလ့က်င့္ခန္းေတြကေတာ့ စတင္ေလ့လာသူမ်ားအတြက္သာ ရည္ရြယ္လို႔ သိၿပီး၊ တတ္ၿပီးသား သူေတြအတြက္ သီးခံေပးၾကဖို႔ ႀကိဳတင္ ေတာင္းပန္ထားပါရေစဗ်ာ။ ဒီေလ့က်င့္ခန္းမွာ က်ေနာ္ Button တစ္ခု၊ PictureBox တစ္ခုသံုးထားပါတရ္။ Tools ေတြရဲ႕ Properties ေတြကိုေတာ့ ေအာက္က Table အတိုင္း ျပင္ယူလုိက္ပါဗ်ာ။
Image ဆြဲတင္တာကိုေတာ့ က်ေနာ္ Method ခြဲၿပီးေရးေပးထားပါတရ္။ PictureBox က parameter passing လုပ္ေပးရမွာျဖစ္ၿပီး void Method သံုးထားျခင္းေၾကာင့္ PictureBox ကို Auto Return ျပန္ေပးပါလိမ့္မရ္။ Result ကိုေတာ့ ေအာက္ကပံုမွာၾကည့္ႏိုင္ပါတရ္ဗ်ာ။
မိတ္ေဆြတို႔ ေသခ်ာနားလည္သြားေအာင္ Coding အျပည့္အစံုကို က်ေနာ္ ေအာက္မွာ ေဖာ္ျပေပးလိုက္ပါတရ္။
using System;
using System.Drawing;
using System.Windows.Forms;

namespace ImgProcessing
{
    public partial class frmMain : Form
    {
        public frmMain()
        {
            InitializeComponent();
        }

        private void btnLoadImage_Click(object sender, EventArgs e)
        {
            LoadPicture(picOriginalImg);
        }

        public void LoadPicture(PictureBox pic)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Title = "Insert an Image";
            ofd.Filter = "JPEG Images|*.jpg|PNG Images |*.png";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                pic.Image = Image.FromFile(ofd.FileName);
            }
        }
    }
}
နားလည္ႏိုင္ၾကလိမ့္မရ္လို႔ ထင္ပါတရ္ဗ်။ LoadPicture( ) Method မွာ parameter အျဖစ္ PictureBox ကို passing လုပ္ၿပီး pic အျဖစ္ ေၾကျငာထားပါတရ္။ ဒါေၾကာင့္ pic အေျပာင္းအလဲေပၚမူတည္ၿပီး Call Method ရဲ႕ PictureBox မွာ ေျပာင္းလဲသြားမွာျဖစ္ပါတရ္။ ဒါအျပင္ မိမိစိတ္ႀကိဳက္ Image ကို ေရြးတင္ႏိုင္ဖို႔အတြက္ OpenFileDialog Box ကို သံုးထားပါတရ္။ တတ္လာတဲ့ Dialog Box ရဲ႕ Tiltle ကိုေတာ့ "Insert an Image" လို႔ ေပးထားပါတရ္။ မိမိစိတ္ႀကိဳက္ Image အမ်ိဳးအစားကိုလည္း စစ္ထုတ္ဆြဲႏိုင္ပါေသးတရ္။ ဒီေလ့က်င့္ခန္းမွာေတာ့ က်ေနာ္ Filter အျဖစ္ jpg နဲ႔ png အမ်ိဳးအစား(၂)ခုကိုသာ ဆြဲတင္ႏိုင္ေအာင္ Filter ခံထားပါတရ္ဗ်။ မိတ္ေဆြတို႔အေနနဲ႔ေတာ့ စိတ္ႀကိဳက္ စစ္ထုတ္ႏိုင္ပါတရ္။ if()statement စစ္ထားတာကေတာ့ မိတ္ေဆြအေနနဲ႔ Image တစ္ခုကို ေရြးခ်ယ္ဆြဲတင္ျခင္း ရွိ/မရွိကို စစ္ထားတာပါ။ Image ကို စိတ္ႀကိဳက္ေရြးၿပီး OK ေပးလိုက္တာနဲ႔ ၄င္း Image ကို pic ဆိုတဲ့ PictureBox အေပၚကို ဆြဲတင္ထားတာျဖစ္ပါတရ္။ ဒီေလာက္ဆိုရင္ေတာ့ မိတ္ေဆြတို႔အေနနဲ႔ Image တစ္ခုကို PictureBox ေပၚသို႔ ဆြဲတင္တတ္ၿပီလို႔ ထင္ပါတရ္ဗ်ာ။ မိတ္ေဆြ၊ ညီအစ္ကို၊ ေမာင္ႏွမအားလံုး ေလ့လာျခင္းျဖင့္ ေက်နပ္ႏိုင္ၾကပါေစ။

0 Responses so far.

Post a Comment