7
我正在使用Aviary在我的Android應用程序中編輯圖像,但是我發現返回的圖像比原來的尺寸要小。由Aviary返回的圖像的尺寸比原來的尺寸小
例如,我把一個大圖像2560x1920過去了,但返回的圖像是480x640。
這是我的代碼:
private void startFeather(Intent data) {
File file = getBitmapFromResult(data);
BitmapInfo bitmap = Helper.getBitmap(file, App.screenWidth, 0);
toastLong("raw photo: " + bitmap.getWidth() + "x" + bitmap.getHeight());
Uri uri = Uri.fromFile(file);
this.featherOutputFile = new File(App.Path.tempDir(), "111" + ".jpg");
// Create the intent needed to start feather
Intent newIntent = new Intent(self, FeatherActivity.class);
// set the source image uri
newIntent.setData(uri);
// pass the required api key (http://developers.aviary.com/)
String API_KEY = "aaabbbccc";
newIntent.putExtra("API_KEY", API_KEY);
// pass the uri of the destination image file (optional)
// This will be the same uri you will receive in the onActivityResult
newIntent.putExtra("output", Uri.parse("file://" + featherOutputFile.getAbsolutePath()));
// format of the destination image (optional)
newIntent.putExtra("output-format", Bitmap.CompressFormat.JPEG.name());
// output format quality (optional)
newIntent.putExtra("output-quality", 100);
// you can force feather to display only a certain tools
// newIntent.putExtra("tools-list", new String[]{"ADJUST", "BRIGHTNESS" });
// enable fast rendering preview
newIntent.putExtra("effect-enable-fast-preview", true);
// limit the image size
// You can pass the current display size as max image size because after
// the execution of Aviary you can save the HI-RES image so you don't need a big
// image for the preview
newIntent.putExtra("max-image-size", App.screenWidth);
newIntent.putExtra("effect-enable-external-pack", false);
newIntent.putExtra("stickers-enable-external-pack", false);
newIntent.putExtra("effect-enable-borders", false);
// HI-RES
// You need to generate a new session id key to pass to Aviary feather
// this is the key used to operate with the hi-res image (and must be unique for every new instance of Feather)
// The session-id key must be 64 char length
String mSessionId = StringUtils.getSha256(System.currentTimeMillis() + API_KEY);
newIntent.putExtra("output-hires-session-id", mSessionId);
// you want to hide the exit alert dialog shown when back is pressed
// without saving image first
// newIntent.putExtra("hide-exit-unsave-confirmation", true);
// ..and start feather
startActivityForResult(newIntent, INTENT_FEATHER);
}
難道我錯過了什麼?
您是否使用高分辨率輸出? Otherweise只返回較小的預覽,其大小取決於設備的內存。 –
我可以幫你嗎?但是你需要使用其他的lib。 –
@Freewind對不起,因爲我問,因爲這個問題甚至沒有得到任何答案,即使兩年後..你有沒有得到任何解決方案..我現在面臨同樣的問題 – Praveen