function getImagePixels(f: string): Integer;
var
jpg: TJpegImage;
bmp: TBitmap;
begin
Result := 0;
if not FileExists(f) then
Exit;
if SameText(ExtractFileExt(f), '.bmp') then
begin
bmp := TBitmap.Create;
try
bmp.LoadFromFile(f);
Result := bmp.Width * bmp.Height;
finally
FreeAndNil(bmp);
end;
end
else if SameText(ExtractFileExt(f), '.jpg') then
begin
jpg := TJpegImage.Create;
try
jpg.LoadFromFile(f);
Result := jpg.Width * jpg.Height;
finally
FreeAndNil(jpg);
end;
end;
end;
获取图像数据,关键是组BMP数据,如果数据是组成的标准BMP格式数据,那显示很容的。用一个视屏显示函数就OK,具体我记不清楚了,你可以搜一下“摄像头控制”相关方面的内容。
这是示例,看看吧,主要是带注释的那一行
...
bm : TBitmap;
clr : TColor;
x, y : Integer;
...
bm.LoadFromFile( filename );
....
clr := bm.Canvas.Pixels[ x, y ]; //这里是取出 y 行 x 列处的像素颜色值
...
bm.Free;
同求,希望有结果交流交流,我也想知道怎么对图片获取像素,希望不是二进制的