1
我正在拍照並保存爲緩存中的圖像。我也將圖片命名並保存,以便稍後查找。在Couchbase lite中保存嗨分辨率圖像
if ((requestCode == REQUEST_IMAGE_CAPTURE && resultCode == Activity.RESULT_OK)){
Bitmap photo = (Bitmap) intent.getExtras().get("data");
//save photo
Date dTime = new Date();
String pictureName = String.valueOf(dTime.getTime()).substring(1,10);
// saved in internal program cache storage
String extr = getCacheDir().toString();
File myPath = new File(extr, "DVIR");
if (!myPath.exists()) {
myPath.mkdirs();
}
FileOutputStream fos;
try {
fos = new FileOutputStream(myPath + "/" + pictureName + ".png");
assert photo != null;
photo.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
MediaStore.Images.Media.insertImage(getContentResolver(),
photo, myPath.getPath(), pictureName + ".png");
photos.add(pictureName);
} catch (FileNotFoundException e) {
e.printStackTrace();
Toast toast = Toast.makeText(getApplicationContext(),
String.valueOf(e), Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
} catch (Exception e) {
e.printStackTrace();
Toast toast = Toast.makeText(getApplicationContext(),
String.valueOf(e), Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
獲取圖像並保存爲文檔附件,圖像名稱存儲在photos []數組中。
try {
assert document != null;
document.putProperties(properties);
if(photos.size()>0) {
String pName;
for(int i=0;i<photos.size();i++){
pName = photos.get(i);
UnsavedRevision newRev = document.getCurrentRevision().createRevision();
newRev.setAttachment(pName + ".png", "image/png", getphotoFromStorage(pName));
newRev.save();
}
}
} catch (CouchbaseLiteException e) {
e.printStackTrace();
Toast toast = Toast.makeText(getApplicationContext(),
"Save Failed" + e, Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
當我檢索照片400px寬的圖像是像素化的。
任何想法? 謝謝
我很困惑。有什麼讓你覺得這是Couchbase Lite的問題嗎?就CBL而言,圖像只是一個二進制塊,所以它不會與壓縮或任何東西混淆。您是否檢查過您正在進行的其他處理(photo.compress或MediaStore)沒有更改圖像? – Hod
我不確定該過程的哪一部分會降低分辨率。這讓我想起我如何看待圖像。我正在使用angularjs和pouchdb從couchbase服務器檢索圖像的Web應用程序中查看圖像。我如何檢查大小或在過程中查看圖像?感謝您的幫助。 –
我會首先使用檢查工具來查看在瀏覽器中呈現的圖像實際上有多大。這似乎是最可能的問題。否則,我會檢查圖像在不同點上的字節大小。我猜想的第二個最可能的問題是getPhotoFromStorage返回的內容。您的照片可能未按照您的預期保存。 – Hod