level 1
主要问题是打开的显示区域有冲突,同一个区域首先显示的是lv的内容,大小是640*424,然后双击略缩图,在同一个显示区域显示拍摄完毕的照片,它的大小是6016*4000。然后必须重新第二次双击才会出现完整图片,但是这时候再次打开lv显示,显示区域就特别小。
下面是代码还有截图。。求教大神!!!
private void InitOpenWindow1() //打开一个显示区域
{
HOperatorSet.OpenWindow(0, 0, pictureBox1.Width, pictureBox1.Height, pictureBox1.Handle, "visible", "", out m_lWindowID);
HOperatorSet.SetWindowParam(m_lWindowID, "background_color", "white");
HOperatorSet.ClearWindow(m_lWindowID);
}
打开个显示区域,然后相机lv取景是用计时器做的,
void _liveViewTimer_Tick(object sender, EventArgs e) // 计时器内部
{
LiveViewData liveViewData = null;
try
{
if (comboBox1.SelectedItem == null)
{
pictureBox1.Image = null;
}
else
{
DeviceManager.SelectedCameraDevice = (ICameraDevice)comboBox1.SelectedItem;//选择左侧设备
liveViewData = DeviceManager.SelectedCameraDevice.GetLiveViewImage();// lv显示主语句
}
}
catch (Exception)
{
return;
}
if (liveViewData == null || liveViewData.ImageData == null)
{
return;
}
try
{
if (check == true)
{
XMLALL.CameraControlxml.write(Convert.ToString(liveViewData.ImageWidth), "Limagewidth");
XMLALL.CameraControlxml.write(Convert.ToString(liveViewData.ImageHeight), "Limageheight");
XMLALL.CameraControlxml.write(Convert.ToString(liveViewData.LiveViewImageHeight), "Llvimageheight");
XMLALL.CameraControlxml.write(Convert.ToString(liveViewData.LiveViewImageWidth), "Llvimagewidth");
check = false;
}
HTuple pointer, type, width, height;
HObject image56,imageRotate;
int row1 = Convert.ToInt32(XMLALL.CameraControlxml.read("Lrow1"));
int row2 = Convert.ToInt32(XMLALL.CameraControlxml.read("Lrow2"));
int column1 = Convert.ToInt32(XMLALL.CameraControlxml.read("Lcolumn1"));
int column2 = Convert.ToInt32(XMLALL.CameraControlxml.read("Lcolumn2"));
HImage images1 = Bitmap2HImage_24(new Bitmap(new MemoryStream(liveViewData.ImageData,
liveViewData.ImageDataPosition,
liveViewData.ImageData.Length -
liveViewData.ImageDataPosition)));
HOperatorSet.CloseWindow(m_lWindowID);
HOperatorSet.OpenWindow(0, 0, pictureBox1.Height, pictureBox1.Height, pictureBox1.Handle, "visible", "", out m_lWindowID);
HOperatorSet.RotateImage(images1, out imageRotate, 270, "constant");
HOperatorSet.Rectangle1Domain(imageRotate,out image56,row1,column1,row2,column2);
HOperatorSet.GetImagePointer1(image56, out pointer, out type, out width, out height);
HOperatorSet.DispObj(image56, m_lWindowID);
images1.Dispose();
image56.Dispose();
}
catch (Exception)
{
}
}
2016年07月15日 03点07分
2
level 1
求教,ubantu上用halcon怎么打开摄像头,好像一直打不开啊
2016年12月18日 03点12分
5
level 1
同求教,ubantu上用halcon打不开工业相机,怎么办....
2018年04月21日 03点04分
7