Exemple #1
0
        private void btn_ucitajSliku_Click(object sender, EventArgs e)
        {
            serialPort.Write("3");
            serialPort.DiscardInBuffer();
            //buffer[5][3] = (char)1; //simulira edit na lpc

            try {
                //ova petlja čita podatke sa serijskog porta bajt po bajt
                for (int i = 0; i < 84; i++)
                {
                    for (int j = 0; j < 6; j++)
                    {
                        niz[i][j] = (byte)serialPort.ReadByte();
                        //niz[i][j] = (byte)buffer[i][j];
                    }
                }
                toolStripStatusLabel1.Text = "Slika uspjesno učitana.";
                pb_slika.Image             = Konverzije.ConvertToBitmap(niz);
                btn_posaljiSliku.Enabled   = false;
                btn_urediSliku.Enabled     = false;
                btn_ucitajSliku.Enabled    = false;
            } catch (Exception ex) {
                toolStripStatusLabel1.Text = "Greska prilikom citanja slike. [" + ex.Message + "]";
            }
        }
Exemple #2
0
        private void btn_prikaziSliku_Click(object sender, EventArgs e)
        {
            //otvara se dialog openFile i izabere se slika (*.bmp|*.jpg|*.png) i prikaze se u PictureBoxu pb_slika
            Stream stream = null;

            openFile.InitialDirectory = "C:\\";
            openFile.Filter           = "Bitmap (*.bmp)|*.bmp|PNG (*.png)|*.png|JPEG (*.jpg, *.jpeg)|*.jpg; *.jpeg";
            openFile.FilterIndex      = 3;
            openFile.RestoreDirectory = true;
            openFile.Title            = "Odaberite sliku za prikaz na displeju.";

            if (openFile.ShowDialog() == DialogResult.OK)
            {
                try {
                    if ((stream = openFile.OpenFile()) != null)
                    {
                        Bitmap slika         = new Bitmap(openFile.FileName);
                        Bitmap smanjenaSlika = Konverzije.Resize(slika);

                        using (Graphics gr = Graphics.FromImage(smanjenaSlika)) {
                            var gray_matrix = new float[][] {
                                new float[] { 0.299f, 0.299f, 0.299f, 0, 0 },
                                new float[] { 0.587f, 0.587f, 0.587f, 0, 0 },
                                new float[] { 0.114f, 0.114f, 0.114f, 0, 0 },
                                new float[] { 0, 0, 0, 1, 0 },
                                new float[] { 0, 0, 0, 0, 1 }
                            };

                            var ia = new System.Drawing.Imaging.ImageAttributes();
                            ia.SetColorMatrix(new System.Drawing.Imaging.ColorMatrix(gray_matrix));
                            ia.SetThreshold(0.7f); // Change this threshold as needed
                            var rc = new Rectangle(0, 0, smanjenaSlika.Width, smanjenaSlika.Height);
                            gr.DrawImage(smanjenaSlika, rc, 0, 0, smanjenaSlika.Width, smanjenaSlika.Height, GraphicsUnit.Pixel, ia);
                        }

                        niz = Konverzije.ConvertToByteArray(smanjenaSlika);

                        var image = Konverzije.ConvertToBitmap(niz);
                        pb_slika.Image             = image;
                        toolStripStatusLabel1.Text = "Uspješno učitana slika.";
                        btn_posaljiSliku.Enabled   = true;
                    }
                } catch (Exception ex) {
                    toolStripStatusLabel1.Text = "Greska: nije moguce učitati datoteku. [" + ex.Message + "]";
                }
            }
        }