Bir resmi kırpmaya çalışıyorum ancak kırpılmış alanı tam olarak 640 piksel x 640 piksel olacak şekilde ayarlamak istiyorum. Bir kullanıcının gerçekten küçük bir alana doğru kırpmasını önlemek istiyorum. Yani temel olarak, kırpma alanı için sabit bir yükseklik ve genişliğe sahip olmayı tercih ederim. Birçok üçüncü parti kütüphaneye baktım ama bu problemi çözmüyorum. Bunu nasıl yapabilirim?Android'de sabit boyutlu bir resmi kırpın
14
A
cevap
4
bir yöntem
private void performCrop(){
try {
//call the standard crop action intent (the user device may not support it)
Intent cropIntent = new Intent("com.android.camera.action.CROP");
//indicate image type and Uri
cropIntent.setDataAndType(selectedImage, "image/*");
//set crop properties
cropIntent.putExtra("crop", "true");
//indicate aspect of desired crop
cropIntent.putExtra("aspectX", 1);
cropIntent.putExtra("aspectY", 1);
//indicate output X and Y
cropIntent.putExtra("outputX", 640);
cropIntent.putExtra("outputY", 640);
//retrieve data on return
cropIntent.putExtra("return-data", true);
//start the activity - we handle returning in onActivityResult
startActivityForResult(cropIntent, PIC_CROP);
}
catch(ActivityNotFoundException anfe){
//display an error message
String errorMessage = "Whoops - your device doesn't support the crop action!";
Toast toast = Toast.makeText(this, errorMessage, Toast.LENGTH_SHORT);
toast.show();
}
}
Kodun bu bölümü useÆ olabilir Orada ilgilenen youøre olan şey:
: Böyle mahsul yöntemi çağırmalıdır cropIntent.putExtra("outputX", 640);
cropIntent.putExtra("outputY", 640);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA && resultCode == RESULT_OK) {
selectedImage = data.getData();
performCrop();
}
if (requestCode == UPLOAD && resultCode == RESULT_OK) {
selectedImage = data.getData();
performCrop();
}
if (requestCode == PIC_CROP && resultCode == RESULT_OK){
Bundle extras = data.getExtras();
//get the cropped bitmap
Bitmap thePic = extras.getParcelable("data");
// Do what you want to do with the pic here
}
}
14
Ben bu çözümlerden biri kullanırsınız:
ikisi de sorunu çözmek için uygun görünmektedir ve emin fazla sınır durumları, cihazları ve diğer Android şeyler kapak için sadece daha kararlı ve güvenilir olmak için.
DÜZENLEME:
Ben android-crop
birkaç değişiklik tanıtıldı ve şimdi piksel olarak sabit kırpma alanını ayarlamak için withFixedSize(int width, int height)
kullanabilirsiniz.
bu gibi görünüyor:
private void beginCrop(Uri source) {
Uri outputUri = Uri.fromFile(new File(getCacheDir(), "cropped"));
new Crop(source).output(outputUri).withFixedSize(640, 640).start(this);
}
İşte bu benim github https://github.com/mklimek/android-crop/tree/newfeature_fied_size_crop bir pull request.
kontrol tam kod.
Oluşturun ve daha sonra projenize ekleyebilirsiniz.
Size yardımcı olacağını umuyorum.
İlgili konular
- 1. Sabit boyutlu bir yığıntaki işlemlerin karmaşıklığı
- 2. Sabit boyutlu bir dizi oluşturun ve onu
- 3. Yeni sabit boyutlu vektör oluştur
- 4. Laravel'de bir tabloyu kırpın
- 5. jQuery açık yeni pencere sabit boyutlu merkezli
- 6. Google Protokolü Arabellekleri - Sabit boyutlu arabellek?
- 7. Sabit boyutlu tanıtıcı ile QScrollBar nasıl oluşturulur?
- 8. Dizeyi sabit boyutlu bayt dizisine git
- 9. Sabit boyutlu bir diziye başvuru getiren bir işlev tanımlayabilir miyim?
- 10. Bir NSString'i genişliğe doğru kırpın
- 11. Bir sabit boyutlu widget ve bir değişken boyutlu widget ile QSplitter?
- 12. androidde openssl nasıl kurulur
- 13. Sabit boyutlu, değişmez ve özel bir vektörün uygulanması
- 14. Görüntüyü ikiye bölünerek kırpın
- 15. PIL kullanarak boşlukları kırpın
- 16. Tüm veritabanı alanlarını kırpın
- 17. androidde shift-jis kodunu çözme
- 18. androidde greyview için özel adaptör
- 19. C# cinsinden sabit boyutlu bayt dizisi kullanıcı türünü nasıl yapabilirim?
- 20. Piksel genişliğine göre kırpın dize
- 21. Sabit boyutlu alt grafikler oluşturmak için nasıl grafviz alırım?
- 22. Çoklu karakterleri php kullanarak kırpın
- 23. Marshal.StructureToPtr, boole ve sabit boyutlu diziyle başarısız oluyor?
- 24. Android Sabit boyutlu diyalog boyutu - Major & Minor nedir?
- 25. Neden sığacak şekilde PictureBox.Image otomatik ölçeklendirme değil mi? Kullanıcı Resmi (OpenFileDialog kullanarak) seçer ve sabit boyutlu PictureBox gösterilen yerlerde
- 26. CSS arka plan resmi - sabit boyutta sığdırmak için küçültme div
- 27. Uygulama boyutlarını bilirken androidde özel görünümler ekleme
- 28. Tepki yerli androidde Coach işareti nasıl uygulanır?
- 29. Sabit boyutlu bir dairesel arabelleğin indisi nasıl verimli bir şekilde sarılır
- 30. Yapılandırma değişiklikleri yapıldıktan sonra androidde şişirilmiş bir düzen nasıl kaydedilir?
"Bunu nasıl yapabilirim?" - kütüphanelerden birini kullanarak başlayın ve istediğiniz özelliği dahil etmek için değiştirin. – CommonsWare
@CommonsWare Yaptım. Cevabımı kontrol edin ve ne demek istediğinizi oylayın :) – mklimek