是否可以旋转图像 90度
注意:旋转不在ImageView
对象中,而是在路径中的原始图像中
非常感谢
public void Rotate90 (){
// Rotate90 this File image1= new File(Environment.getExternalStorageDirectory().getPath() + "/0Students/Compressed_Images/t12.jpg" );
}
答案 0 :(得分:2)
首先从文件中加载图片
Bitmap bitmap = BitmapFactory.decodeFile(image Path);
然后制作一个矩阵
Matrix matrix = new Matrix();
matrix.postRotate(90);
Bitmap finalBitmap = Bitmap.createBitmap(bitmap , 0, 0,
bitmap .getWidth(), bitmap .getHeight(),
matrix, true);
then save it to your system
private void SaveImage(Bitmap finalBitmap) {
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/saved_images");
myDir.mkdirs();
Random generator = new Random();
int n = 10000;
n = generator.nextInt(n);
String fname = "Image-"+ n +".jpg";
File file = new File (myDir, fname);
if (file.exists ()) file.delete ();
try {
FileOutputStream out = new FileOutputStream(file);
finalBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
并且不要忘记添加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
希望这能帮到你:)
答案 1 :(得分:1)
/**
* Populate the {@link MessageChannel} to the new {@link IntegrationFlowBuilder}
* chain, which becomes as a {@code requestChannel} for the Messaging Gateway(s) built
* on the provided service interface.
* <p>A gateway proxy bean for provided service interface is registered under a name
* from the
* {@link org.springframework.integration.annotation.MessagingGateway#name()} if present
* or from the {@link IntegrationFlow} bean name plus {@code .gateway} suffix.
* @param serviceInterface the service interface class with an optional
* {@link org.springframework.integration.annotation.MessagingGateway} annotation.
* @return new {@link IntegrationFlowBuilder}.
*/
public static IntegrationFlowBuilder from(Class<?> serviceInterface) {
答案 2 :(得分:0)
使用 setRotation(浮动) API检查
http://developer.android.com/reference/android/view/View.html#setRotation(float)
答案 3 :(得分:0)
1)您必须从您的路径获取位图,如下所示:
File imgFile = new File("/sdcard/Images/test_image.jpg");
if(imgFile.exists()){
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
}
2)将myBitmap传递给此函数以获得旋转90度的图像
public static Bitmap RotateBitmap(Bitmap source, float angle) {
Matrix matrix = new Matrix();
matrix.postRotate(angle);
return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true);
}