摄像头获得的照片怎么样才能指定大小?uses jpeg 报错找不到头文件(100分)

  • 主题发起人 主题发起人 wukw
  • 开始时间 开始时间
W

wukw

Unregistered / Unconfirmed
GUEST, unregistred user!
摄像头获得的照片怎样直接显示在Image里?

procedure TForm1.SaveBMPClick(Sender: TObject);
begin
if hWndC <> 0 then begin
SaveDialog1.DefaultExt := 'bmp';
SaveDialog1.Filter := 'Bitmap files (*.bmp)|*.bmp';
if SaveDialog1.Execute then
SendMessage(hWndC,
WM_CAP_SAVEDIB,
0,
longint(pchar(SaveDialog1.FileName)));
end;
end;

默认太大了,以上代码是抄来的,所以不知道该怎么指定大小。或者截图存下来之后,怎样按比例真实缩小图片?
还有为什么uses jpeg 我这里报错啊?

我用的Delphi7 + winXP,非常感谢指教啊!!
 
你就使用image本身的缩放功能就可以吧.调整iamge的大小,设置stretch为true.
如果你显示出错,你这样就可以了.
var tjepg1: TJpegImage;
tjepg1:= TJpegImage.Create;
tjepg1.LoadFromfile(filename);
image2.Picture.Bitmap.Assign(tjepg1);
 
这个可以查查以前的帖子,还是比较多的,我上一阶段刚做了这个
 
请问楼上的能不能发给我一个例子啊? 特别不能理解的是 uses jpeg为什么都出错啊?
 
给你抄一段我以前写的吧。
pic:TJPEGImage;
pic1:TBitMap;

pic1.Width :=panel1.Width; //GetDeviceCaps (DC, HORZRES);
// ABitmap.Width := GetDeviceCaps (DC, HORZRES);
pic1.Height :=panel1.Height;// GetDeviceCaps (DC, VERTRES);
// ABitmap.Height :=GetDeviceCaps (DC, VERTRES);
BitBlt(pic1.Canvas.Handle, 0, 0, pic1.Width, pic1.Height,DC, 0, 0, SRCCOPY);
finally
// ReleaseDC (GetDesktopWindow, DC);
// ReleaseDC (panel1.Handle, DC);
end;
pic.Assign(pic1);
pic.SaveToFile(tmpdir+picfilename+inttostr(i)+'.jpg');
你可以通过控制panel的大小来控制照片大小,也可以直接赋值控制。具体怎么用,自己斟酌吧。
 
后退
顶部