99 Ich erstelle eine Anwendung und möchte eine Galerieansicht einrichten. Ich möchte nicht, dass die Bilder in der Galerieansicht in voller Größe angezeigt werden. Wie ändere ich die Größe von Bildern in Android? android bitmap Jignesh Ansodariya quelle 6 Sie möchten die Größe reduzieren, wenn das Bild oder nur klein angezeigt werden soll? MAC Antworten: 186 Versuchen: Bitmap yourBitmap; Bitmap resized = Bitmap.createScaledBitmap(yourBitmap, newWidth, newHeight, true); oder: resized = Bitmap.createScaledBitmap(yourBitmap,(int)(yourBitmap.getWidth()*0.8), (int)(yourBitmap.getHeight()*0.8), true); goodm quelle 30 public Bitmap resizeBitmap(String photoPath, int targetW, int targetH) { BitmapFactory.Options bmOptions = new BitmapFactory.Options(); bmOptions.inJustDecodeBounds = true; BitmapFactory.decodeFile(photoPath, bmOptions); int photoW = bmOptions.outWidth; int photoH = bmOptions.outHeight; int scaleFactor = 1; if ((targetW > 0) || (targetH > 0)) { scaleFactor = Math.min(photoW/targetW, photoH/targetH); } bmOptions.inJustDecodeBounds = false; bmOptions.inSampleSize = scaleFactor; bmOptions.inPurgeable = true; //Deprecated API 21 return BitmapFactory.decodeFile(photoPath, bmOptions); } Hernaldo Gonzalez quelle 8 Nehmen Sie das Bild auf und ändern Sie die Größe. Bitmap image2 = (Bitmap) data.getExtras().get("data"); img.setImageBitmap(image2); String incident_ID = IncidentFormActivity.incident_id; imagepath="/sdcard/RDMS/"+incident_ID+ x + ".PNG"; File file = new File(imagepath); try { double xFactor = 0; double width = Double.valueOf(image2.getWidth()); Log.v("WIDTH", String.valueOf(width)); double height = Double.valueOf(image2.getHeight()); Log.v("height", String.valueOf(height)); if(width>height){ xFactor = 841/width; } else{ xFactor = 595/width; } Log.v("Nheight", String.valueOf(width*xFactor)); Log.v("Nweight", String.valueOf(height*xFactor)); int Nheight = (int) ((xFactor*height)); int NWidth =(int) (xFactor * width) ; bm = Bitmap.createScaledBitmap( image2,NWidth, Nheight, true); file.createNewFile(); FileOutputStream ostream = new FileOutputStream(file); bm.compress(CompressFormat.PNG, 100, ostream); ostream.close(); Jay Mayu quelle 6 Sie können Matrix verwenden, um die Größe Ihres Kamerabilds zu ändern .... BitmapFactory.Options options=new BitmapFactory.Options(); InputStream is = getContentResolver().openInputStream(currImageURI); bm = BitmapFactory.decodeStream(is,null,options); int Height = bm.getHeight(); int Width = bm.getWidth(); int newHeight = 300; int newWidth = 300; float scaleWidth = ((float) newWidth) / Width; float scaleHeight = ((float) newHeight) / Height; Matrix matrix = new Matrix(); matrix.postScale(scaleWidth, scaleHeight); Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0,Width, Height, matrix, true); BitmapDrawable bmd = new BitmapDrawable(resizedBitmap); N.Droid quelle 5 bm = Bitmap.createScaledBitmap(bitmapSource, width, height, true); :) :) Misca quelle 5 // Foto ist Bitmap-Bild Bitmap btm00 = Utils.getResizedBitmap(photo, 200, 200); setimage.setImageBitmap(btm00); And in Utils class : public static Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) { int width = bm.getWidth(); int height = bm.getHeight(); float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; Matrix matrix = new Matrix(); // RESIZE THE BIT MAP matrix.postScale(scaleWidth, scaleHeight); // RECREATE THE NEW BITMAP Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false); return resizedBitmap; } ritesh4326 quelle 4 BitmapFactory.Options options=new BitmapFactory.Options(); options.inSampleSize=2; //try to decrease decoded image Bitmap bitmap=BitmapFactory.decodeStream(is, null, options); bitmap.compress(Bitmap.CompressFormat.JPEG, 70, fos); //compressed bitmap to file voidRy quelle 4 resized = Bitmap.createScaledBitmap(yourImageBitmap,(int)(yourImageBitmap.getWidth()*0.9), (int)(yourBitmap.getHeight()*0.9), true); Vaishali Sutariya quelle 2 Im Folgenden finden Sie die Funktion zum Ändern der Bitmap-Größe unter Beibehaltung des gleichen Seitenverhältnisses. Hier habe ich auch einen ausführlichen Blog-Beitrag zum Thema geschrieben, um diese Methode zu erklären. Ändern Sie die Größe einer Bitmap, indem Sie das gleiche Seitenverhältnis beibehalten . public static Bitmap resizeBitmap(Bitmap source, int maxLength) { try { if (source.getHeight() >= source.getWidth()) { int targetHeight = maxLength; if (source.getHeight() <= targetHeight) { // if image already smaller than the required height return source; } double aspectRatio = (double) source.getWidth() / (double) source.getHeight(); int targetWidth = (int) (targetHeight * aspectRatio); Bitmap result = Bitmap.createScaledBitmap(source, targetWidth, targetHeight, false); if (result != source) { } return result; } else { int targetWidth = maxLength; if (source.getWidth() <= targetWidth) { // if image already smaller than the required height return source; } double aspectRatio = ((double) source.getHeight()) / ((double) source.getWidth()); int targetHeight = (int) (targetWidth * aspectRatio); Bitmap result = Bitmap.createScaledBitmap(source, targetWidth, targetHeight, false); if (result != source) { } return result; } } catch (Exception e) { return source; } } Asad Ali Choudhry quelle 0 BitmapFactory.Options options=new BitmapFactory.Options(); options.inSampleSize = 10; FixBitmap = BitmapFactory.decodeFile(ImagePath, options); //FixBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.gv); byteArrayOutputStream = new ByteArrayOutputStream(); FixBitmap.compress(Bitmap.CompressFormat.JPEG, 80, byteArrayOutputStream); //compress to 50% of original image quality byteArray = byteArrayOutputStream.toByteArray(); ConvertImage = Base64.encodeToString(byteArray, Base64.DEFAULT); Alobaidi quelle
186 Versuchen: Bitmap yourBitmap; Bitmap resized = Bitmap.createScaledBitmap(yourBitmap, newWidth, newHeight, true); oder: resized = Bitmap.createScaledBitmap(yourBitmap,(int)(yourBitmap.getWidth()*0.8), (int)(yourBitmap.getHeight()*0.8), true); goodm quelle
30 public Bitmap resizeBitmap(String photoPath, int targetW, int targetH) { BitmapFactory.Options bmOptions = new BitmapFactory.Options(); bmOptions.inJustDecodeBounds = true; BitmapFactory.decodeFile(photoPath, bmOptions); int photoW = bmOptions.outWidth; int photoH = bmOptions.outHeight; int scaleFactor = 1; if ((targetW > 0) || (targetH > 0)) { scaleFactor = Math.min(photoW/targetW, photoH/targetH); } bmOptions.inJustDecodeBounds = false; bmOptions.inSampleSize = scaleFactor; bmOptions.inPurgeable = true; //Deprecated API 21 return BitmapFactory.decodeFile(photoPath, bmOptions); } Hernaldo Gonzalez quelle
8 Nehmen Sie das Bild auf und ändern Sie die Größe. Bitmap image2 = (Bitmap) data.getExtras().get("data"); img.setImageBitmap(image2); String incident_ID = IncidentFormActivity.incident_id; imagepath="/sdcard/RDMS/"+incident_ID+ x + ".PNG"; File file = new File(imagepath); try { double xFactor = 0; double width = Double.valueOf(image2.getWidth()); Log.v("WIDTH", String.valueOf(width)); double height = Double.valueOf(image2.getHeight()); Log.v("height", String.valueOf(height)); if(width>height){ xFactor = 841/width; } else{ xFactor = 595/width; } Log.v("Nheight", String.valueOf(width*xFactor)); Log.v("Nweight", String.valueOf(height*xFactor)); int Nheight = (int) ((xFactor*height)); int NWidth =(int) (xFactor * width) ; bm = Bitmap.createScaledBitmap( image2,NWidth, Nheight, true); file.createNewFile(); FileOutputStream ostream = new FileOutputStream(file); bm.compress(CompressFormat.PNG, 100, ostream); ostream.close(); Jay Mayu quelle
6 Sie können Matrix verwenden, um die Größe Ihres Kamerabilds zu ändern .... BitmapFactory.Options options=new BitmapFactory.Options(); InputStream is = getContentResolver().openInputStream(currImageURI); bm = BitmapFactory.decodeStream(is,null,options); int Height = bm.getHeight(); int Width = bm.getWidth(); int newHeight = 300; int newWidth = 300; float scaleWidth = ((float) newWidth) / Width; float scaleHeight = ((float) newHeight) / Height; Matrix matrix = new Matrix(); matrix.postScale(scaleWidth, scaleHeight); Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0,Width, Height, matrix, true); BitmapDrawable bmd = new BitmapDrawable(resizedBitmap); N.Droid quelle
5 // Foto ist Bitmap-Bild Bitmap btm00 = Utils.getResizedBitmap(photo, 200, 200); setimage.setImageBitmap(btm00); And in Utils class : public static Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) { int width = bm.getWidth(); int height = bm.getHeight(); float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; Matrix matrix = new Matrix(); // RESIZE THE BIT MAP matrix.postScale(scaleWidth, scaleHeight); // RECREATE THE NEW BITMAP Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false); return resizedBitmap; } ritesh4326 quelle
4 BitmapFactory.Options options=new BitmapFactory.Options(); options.inSampleSize=2; //try to decrease decoded image Bitmap bitmap=BitmapFactory.decodeStream(is, null, options); bitmap.compress(Bitmap.CompressFormat.JPEG, 70, fos); //compressed bitmap to file voidRy quelle
4 resized = Bitmap.createScaledBitmap(yourImageBitmap,(int)(yourImageBitmap.getWidth()*0.9), (int)(yourBitmap.getHeight()*0.9), true); Vaishali Sutariya quelle
2 Im Folgenden finden Sie die Funktion zum Ändern der Bitmap-Größe unter Beibehaltung des gleichen Seitenverhältnisses. Hier habe ich auch einen ausführlichen Blog-Beitrag zum Thema geschrieben, um diese Methode zu erklären. Ändern Sie die Größe einer Bitmap, indem Sie das gleiche Seitenverhältnis beibehalten . public static Bitmap resizeBitmap(Bitmap source, int maxLength) { try { if (source.getHeight() >= source.getWidth()) { int targetHeight = maxLength; if (source.getHeight() <= targetHeight) { // if image already smaller than the required height return source; } double aspectRatio = (double) source.getWidth() / (double) source.getHeight(); int targetWidth = (int) (targetHeight * aspectRatio); Bitmap result = Bitmap.createScaledBitmap(source, targetWidth, targetHeight, false); if (result != source) { } return result; } else { int targetWidth = maxLength; if (source.getWidth() <= targetWidth) { // if image already smaller than the required height return source; } double aspectRatio = ((double) source.getHeight()) / ((double) source.getWidth()); int targetHeight = (int) (targetWidth * aspectRatio); Bitmap result = Bitmap.createScaledBitmap(source, targetWidth, targetHeight, false); if (result != source) { } return result; } } catch (Exception e) { return source; } } Asad Ali Choudhry quelle
0 BitmapFactory.Options options=new BitmapFactory.Options(); options.inSampleSize = 10; FixBitmap = BitmapFactory.decodeFile(ImagePath, options); //FixBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.gv); byteArrayOutputStream = new ByteArrayOutputStream(); FixBitmap.compress(Bitmap.CompressFormat.JPEG, 80, byteArrayOutputStream); //compress to 50% of original image quality byteArray = byteArrayOutputStream.toByteArray(); ConvertImage = Base64.encodeToString(byteArray, Base64.DEFAULT); Alobaidi quelle
Antworten:
Versuchen:
oder:
quelle
quelle
Nehmen Sie das Bild auf und ändern Sie die Größe.
quelle
Sie können Matrix verwenden, um die Größe Ihres Kamerabilds zu ändern ....
quelle
:) :)
quelle
// Foto ist Bitmap-Bild
quelle
quelle
quelle
Im Folgenden finden Sie die Funktion zum Ändern der Bitmap-Größe unter Beibehaltung des gleichen Seitenverhältnisses. Hier habe ich auch einen ausführlichen Blog-Beitrag zum Thema geschrieben, um diese Methode zu erklären. Ändern Sie die Größe einer Bitmap, indem Sie das gleiche Seitenverhältnis beibehalten .
quelle
quelle