这里是缩略存在诺基亚手机拍摄的图像?
-
26-09-2019 - |
题
下面的链接表示的目录列表里的缩略都存储在各自的电话:http://wiki.forum.nokia.com/index.php/Thumbnail_path_for_3rd_edition_devices
但是手机上给予的链路是有限的。这是否意味着,对于其他电话(例如N86,Expressmusic等),我没有访问的略图?我尝试使用的所有目录的结构给予的链接,但没有一个是工作对于所提到的手机。没有任何人知道这件事?
解决方案
我不知道如果你需要什么,但你可以拿 嵌入 缩略出的全尺寸JPEG文件。在我j2me应用程序显示我的手机画廊这种方式。
private final static int STOP_AT_BYTE = 8192; //how far to search for thumbnail
private final static int THUMB_MAX_SIZE = 16284;
private Image getThumbnailFromStream(InputStream str, long fileSize)
{
byte[] tempByteArray = new byte[THUMB_MAX_SIZE]; // how big can a thumb get.
byte[] bytefileReader = {0}; // lazy byte reader
byte firstByte,secondByte = 0;
int currentIndex = 0;
int currByte = 0;
try {
str.read(bytefileReader);
firstByte = bytefileReader[0];
str.read(bytefileReader);
secondByte = bytefileReader[0];
currByte += 2;
if ((firstByte & 0xFF) == 0xFF && (secondByte & 0xFF) == 0xD8) { //if this is JPEG
byte rByte = 0;
do {
while (rByte != -1 && currByte < fileSize) {
str.read(bytefileReader);
rByte = bytefileReader[0];
currByte++;
}
str.read(bytefileReader);
rByte = bytefileReader[0];
currByte++;
if (currByte > STOP_AT_BYTE) {
return null;
}
} while ((rByte & 0xFF) != 0xD8 && currByte < fileSize); // thumb starts
if (currByte >= fileSize) {
return null;
}
tempByteArray[currentIndex++] = -1;
tempByteArray[currentIndex++] = rByte;
rByte = 0;
do {
while (rByte != -1){
str.read(bytefileReader);
rByte = bytefileReader[0];
tempByteArray[currentIndex++] = rByte;
}
str.read(bytefileReader);
rByte = bytefileReader[0];
tempByteArray[currentIndex++] = rByte;
} while ((rByte & 0xFF) != 0xD9); // thumb ends
tempByteArray[currentIndex++] = -1;
Image image = Image.createImage(tempByteArray, 0, currentIndex-1);
tempByteArray = null;
return image;
}
} catch (Throwable e) {
//error
}
return null;
}
不隶属于 StackOverflow