private void LoadImage()
        {
            AvlNet.TestImageId imageType;
            int imageSize;

            if (radioPlane.Checked)
            {
                imageType = AvlNet.TestImageId.Plane;
            }
            else
            {
                imageType = AvlNet.TestImageId.Peppers;
            }

            if (radioSize128.Checked)
            {
                imageSize = 128;
            }
            else if (radioSize256.Checked)
            {
                imageSize = 256;
            }
            else
            {
                imageSize = 512;
            }

            using (AvlNet.Image
                   imageColor = new AvlNet.Image(),
                   imageScaled = new AvlNet.Image())
            {
                //mr:: AvlNet.TestImageId imageType;
                // imageType = AvlNet.TestImageId.Plane;
                //public static void TestImage
                //(
                //    AvlNet.TestImageId inImageId,
                //    NullableRef<AvlNet.Image> outRgbImage,
                //    NullableRef<AvlNet.Image> outMonoImage
                //)
                AvlNet.AVL.TestImage(imageType, imageColor, null);
                //mr:: 感觉这是在改变Imaged的大小, 而不是图像的显示大小.因为每次都重新load图像文件
                //public static void ResizeImage
                //(
                //    AvlNet.Image inImage,
                //    int? inNewWidth,
                //    int? inNewHeight,
                //    AvlNet.ResizeMethod inResizeMethod,
                //    AvlNet.Image outImage
                //)
                AvlNet.AVL.ResizeImage(imageColor, imageSize, imageSize, AvlNet.ResizeMethod.Area, imageScaled);
                //mr:: HMI VideoBox控件; 有SetImage()设置控件图像
                zoomingVideoBox1.SetImage(imageScaled);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Handles click on "NextImage" button.
        /// </summary>
        private void nextImageBtn_Click(object sender, EventArgs e)
        {
            try
            {
                //mr:: 1.
                var task = new Task(() =>
                {
                    using (var currImage = new AvlNet.Image())
                    {
                        measurement.GetNextMeasuredImage(currImage);

                        Invoke(new Action(() =>
                        {
                            if (pictureBox1.Image != null)
                            {
                                pictureBox1.Image.Dispose();
                            }

                            pictureBox1.Image = currImage.CreateBitmap();

                            var distance   = measurement.LastMeasuredDistance;
                            distLabel.Text = string.IsNullOrEmpty(distance) ? "unknown" : distance;
                        }));
                    }
                    //distLabel.Text = "unknown";
                });

                task.Start();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                Close();
                return;
            }
        }