我有这段代码:
byte[] snap = ((VideoControl) player).getSnapshot("encoding=jpeg");
,它从相机获取快照。现在,经过一点处理,它会产生正确的图像。奇怪的是,当我调试这行代码时,即使结果图像不同,它在字段中的值也总是相同的。任何想法为什么?
问候修剪
确保您查看的数据在数组内部,而不是数组的内存地址(不一定需要更改)。
我希望这有帮助,
祝你好运
也许需要一些明确性......在什么“领域”中什么具有“相同价值”?
听起来你把那个字节数组变成了一个图像。那么当你再次调用 getSnapshot 时,你会得到相同的字节数组但不同的图像?
也许尝试 getSnapshot(null)。
就像是:
byte[] data = null;
try {
data = video.getSnapshot(null);
} catch (MediaException ex) {
ex.printStackTrace();
}
if(data != null)
{
img = Image.createImage(data, 0, data.length);
}
你是如何“调试”的?模拟器?在设备上?什么设备?
上面的代码在 K800i 上适用于我。
你确定 getSnapshot() 返回一个 VideoControl 吗?仔细检查。
经过广泛的搜索,我发现我错了,我为误导性问题道歉。但是,使用 encoding=jpeg 时,这些数组实际上只有一小部分不同,但使用另一种编码时,它们确实存在很大差异。再次,当我没有首先验证这个问题时,我很抱歉。