Tworzę aplikację i chcę ustawić widok galerii. Nie chcę, aby obrazy w widoku galerii miały pełny rozmiar. Jak zmienić rozmiar obrazów w systemie Android?Jak zmienić rozmiar obrazu w systemie Android?
72
A
Odpowiedz
146
Spróbuj:
Bitmap yourBitmap;
Bitmap resized = Bitmap.createScaledBitmap(yourBitmap, newWidth, newHeight, true);
czyli
resized = Bitmap.createScaledBitmap(yourBitmap,(int)(yourBitmap.getWidth()*0.8), (int)(yourBitmap.getHeight()*0.8), true);
+8
Pokazuje rozmazany obraz przy niskim skalowaniu ... –
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
6
Można użyć Matrix, aby zmienić rozmiar obrazu z kamery ....
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);
6
Przechwytywanie obrazu i rozmiaru to.
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();
4
bm = Bitmap.createScaledBitmap(bitmapSource, width, height, true);
:)
28
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);
}
5
// zdjęcie jest Bitmapa
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;
}
2
resized = Bitmap.createScaledBitmap(yourImageBitmap,(int)(yourImageBitmap.getWidth()*0.9), (int)(yourBitmap.getHeight()*0.9), true);
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);
Powiązane problemy
- 1. jak zmienić rozmiar obrazu gif w android
- 2. Jak zmienić rozmiar obrazu UIBarButtonItem
- 3. Jak zmienić rozmiar zawartości widoku internetowego w systemie Android?
- 4. Jak zmienić rozmiar obrazu w Java?
- 5. Jak zmienić rozmiar UIView w systemie iOS?
- 6. Jak skompresować rozmiar obrazu?
- 7. Android: jak zmienić rozmiar RadioButton
- 8. Jak zmienić rozmiar obrazu widoku obrazu w javafx?
- 9. Android: Jak zmienić rozmiar CheckBox?
- 10. Buforowanie obrazu w systemie Android - jak?
- 11. Jak zmienić rozmiar obrazu kciuka UISlider programowo
- 12. Jak programowo zmienić rozmiar obrazu ImageView
- 13. pyCairo: Jak zmienić rozmiar i położenie obrazu?
- 14. Jak proporcjonalnie zmienić rozmiar obrazu na płótnie?
- 15. Jak zmienić rozmiar obrazu poprzez przeciągnięcie
- 16. Jak zmienić rozmiar obrazu bez utraty jakości?
- 17. Jak zmienić rozmiar czcionki w Android WebView?
- 18. zmienić rozmiar obrazu w „href” tag łącza
- 19. Jak zmienić aktywność startową w systemie Android?
- 20. Jak zmienić pozycję Toasta w systemie Android?
- 21. Jak zmienić styl zakładki w systemie Android?
- 22. Ustawianie rozmiaru obrazu kamery w systemie Android
- 23. Jak zmienić rozmiar buforowanego obrazu n grafiki 2d w java?
- 24. Jak zmienić rozmiar obrazu z dobrą jakością w iPhonie?
- 25. Jak zmienić rozmiar obrazu przy zachowaniu proporcji w CSS?
- 26. Użyj ffmpeg, aby zmienić rozmiar obrazu
- 27. jak wymienić/zmienić przycisk obrazu programowo Android
- 28. Jak zmienić rozmiar obrazów w trybie org?
- 29. Obracanie obrazu bez obkurczania w systemie Android
- 30. Jak zmienić rozmiar klipu SVG?
chcesz zmniejszyć rozmiar obrazu lub jeśli tylko chcesz wyświetlać małe? – MAC