我是新来Fluuter的。我尝试在Flutter中压缩图像或调整图像大小,但当图像为PNG格式时,我总是收到不受支持的错误: Invalid image: ExifInterface got an unsupported image format file(ExifInterface supports JPEG and some RAW image formats only) or a corrupted JPEG file to ExifInterface.
W/ExifInterface(23209): java.io.IOException: Invalid byte order: f
帧或图像是从android手机发送的视频中获取的,使用Jcodec(<artifactId>jcodec</artifactId>和<artifactId>jcodec-javase</artifactId> Version 0.2.2)在java中捕获图像。一切都很好,但是在显示照片的同时,它向右倾斜90度。我无法找到旋转是发生在捕获或显示它!
在本地服务器(Tomcat7)中,工作正常(图像本身是在底层),但当我将代码推送到AWS时,出现了这个问题,它有tomcat8。下载后,AWS的图像大小(JPEG)为28 is,本地服务器的图像大小为1
当试图获取ExifInterface时,我一直看到一个未检测到的原始图像错误消息。
ExifInterface exifInterface = new ExifInterface(filepath);
int rotation=exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION,ExifInterface.ORIENTATION_UNDEFINED);
有人知道是什么导致了这一切吗?
我想知道位图的方向。我使用以下代码:
ExifInterface ei = new ExifInterface(photoPath);
int orientation = ei.getAttributeInt(ExifInterface.TAG_ORIENTATION,
ExifInterface.ORIENTATION_NORMAL);
switch(orientation) {
case ExifInterface.ORIENTATION_ROTATE_90:
rotateImage(bitmap, 90);
break;
case ExifInterface
我试图使用和TAG_IMAGE_DESCRIPTION来获取图像的标题,但总是获得null。它适用于纬度、经度或其他领域,而不是这个领域。
ExifInterface exifInterface = new ExifInterface(getContentResolver().openInputStream(targetUri));
Log.d("Image", exifInterface.getAltitude(0)+" and latitude "+ exifInterface.getLatLong()[0]);
Log.d("
我需要从sd卡获取图像,创建,旋转和保存更改的图像。我试着用这个代码
Bitmap original = BitmapFactory.decodeFile(file.getAbsolutePath());
ExifInterface originalExif = new ExifInterface(file.getAbsolutePath());
int orientation = originalExif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED);
我只需点击一个按钮就可以打开相机应用。并在下一个活动中显示捕获的照片。但是捕捉到的照片旋转了90度。当我在捕获图像后在视图中显示它时,它的方向始终是横向的。为什么照片不像在纵向模式下拍摄时那样以纵向方式显示?
按钮的onClick:
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(APP_DIR+"/latest.png")));
我正在开发一个Android应用程序,将位图保存为jpeg图像到外部存储。偶尔会发生JPEG损坏的情况(见下图)。我已经意识到,只有在调用saveExif()时才会发生损坏(最终)。如果我注释掉了saveExif(),这种破坏就不会发生。这意味着它是由与EXIF相关的东西引起的,而不是压缩过程。我已经分析了jpeg与软件(坏佩吉),检测图像为腐败由于过早结束的数据段。
知道怎么修吗?
我最初是这样保存图像的:
lateinit var uri: Uri
val imageOutStream: OutputStream
val contentRes
我正在使用CameraX 来拍摄一些图片。然而,我所有的图像都是错误的旋转。它们都被标记为:ORIENTATION_ROTATE_90是的,我已经检查过了,以确保方向锁没有打开,并且清单中没有任何东西可以锁定屏幕方向,我也没有覆盖任何定向方法。
无论我如何通过模拟器或真正的设备测试它,方向似乎是“锁定”。唯一正确旋转的图片是当设备处于纵向模式时。但是,它仍然被标记为ORIENTATION_ROTATE_90
有人能看出我可能做错了什么吗?
private var imageCapture: ImageCapture? = null
private lateinit var c
当我在索尼Z2上运行脚本时,它会抛出这个异常,尽管它在三星s4中运行得很顺利:
由: java.lang.IllegalArgumentException:文件名不能为空引起的
at (MyDetailsPage.java:274)
这是我的程序,java:274在外部代码中:
public Bitmap decodeScaledDownBitmapFromDatabase(String imagePath,int requiredHeight,int requiredWidth){
final BitmapFactory.Options options=new Bi
在安卓系统中,我注意到当我用相机拍照并把它映射到ImageView上时,在一些相机上(比如我的物理手机),它会旋转90度(而在我使用的仿真器手机上,它们不是旋转的)。
我试过这个:
//once you have the main bitmap
ExifInterface ei = null;
try {
ei = new ExifInterface(imageFilepath);
int orientation = ei.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterfa
我正在尝试使用
public int getCameraPhotoOrientation(Context context, Uri imageUri, String imagePath){
int rotate = 0;
try {
context.getContentResolver().notifyChange(imageUri, null);
File imageFile = new File(imagePath);
ExifInterface exif = new ExifInte
Good day guys.Im尝试检查图片库中图片的方向,这些图片是由android默认camera.So捕获的。这里我们使用可怕和愤怒的全issue.For逆时针旋转90度。可恶的exif返回ORIENTATION_ROTATE_90..Ok让我们假设它的ok..but问题是顺时针旋转90度,可恶的exif返回相同的!所以几张图片得到了mixed.For示例我得到了2张图片,一张是逆时针90度,第二张是顺时针90度。但他们的两个EXIF值都是ORIENTATION_ROTATE_90,所以每当我看到这个标签时,我只是旋转了90度,一个图像正确地旋转了,但另一个图像当然不旋转,因为它必须像-
我使用这段代码获取图像的路径,然后尝试获取它的EXIF数据来检查旋转情况,但是代码会崩溃,其中的消息是: java.io.FileNotFoundException: /external/media/12729(没有这样的文件或目录)。
val ei = selectedImage.path?.let { ExifInterface(it) }
我的代码是
fun getImagepath(activity: Activity): Uri? {
val uriExternal: Uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI