7
Android uygulamasında görüntüyü düzenlemek için Aviary kullanıyorum, ancak geri dönen görüntünün orijinalinden daha küçük olduğunu buldum. Örneğin, büyük bir görüntüyü 2560x1920 seriperiye yapıştırıyorum, ancak dönen görüntü 480x640'tır. Aviary tarafından döndürülen görüntünün boyutu, orijinal uygulamadan daha küçük
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);
}
şey kaçırdım mı:
Bu benim kodudur?
Yüksek çözünürlüklü çıktı kullandınız mı? Öte yandan, boyutu yalnızca cihazın hafızasına bağlı olan daha küçük önizleme döndürülür. –
Yardımcı olabilir miyim? Ama diğer lib kullanmanız gerekiyor. –
@Freewind Bunu sorduğum için üzgünüm, çünkü bu soru iki yıl sonra bile cevap alamadı .. Herhangi bir çözüm buldunuz mu .. Şimdi aynı sorunla karşı karşıyayım – Praveen