我想在临时文件夹中保存一些元数据更改的图像,而不重新编码实际的图像数据.
我发现能够做到这一点的唯一方法是ALAssetsLibrary/writeImageDataToSavedPhotosAlbum:metadata:completionBlock:但是,这个将图像保存到照片库.相反,我想将图像保存到临时文件夹(例如,通过电子邮件共享它,而不填充照片库).
我尝试过使用CGImageDestinationRef(CGImageDestinationAddImageFromSource),但它只能使用解码图像创建,这意味着它在保存时会重新编码(测试时,像素字节看起来不同).
除了使用CGImageDestinationRef?还有其他可用于iOS的方法/类可以保存图像数据和元数据吗?对于变通方法的建议也会受到欢迎.
我有一个在Android 4.0及更高版本上开发的应用程序.(该应用不支持4.0以下的Android版本[Ice Cream Sandwich]).
该问题涉及(打印)各种图像(例如,jpeg或png)格式的DPI.
此问题与SCREEN DPI或各种Android设备的大小无关.它也与在屏幕尺寸上显示设备上的位图无关.
我使用以下代码在"位图"中加载图像文件.然后我一直在裁剪它并使用jpegCompression将其保存为JPEG格式的另一个文件.我已经能够通过以下代码执行此操作,但我无法获取加载的DPI或设置保存的图像文件的DPI.
所以我有两个问题.
1)如何在"Bitmap"中加载后,在JPEG文件中获取(打印)DPI?
2)在保存新生成的"位图"时,如何在JPEG文件中再次设置DPI?
以下是代码的一部分供参考.
FileInputStream inputStream = new FileInputStream(theSourcePhotoFilePathName);
Bitmap bitmap = null;
BitmapRegionDecoder decoder = null;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 1;
options.inDensity = 300; // Tried this but not working.
try {
decoder = BitmapRegionDecoder.newInstance(in, false);
bitmap = decoder.decodeRegion(region, options); // the region has cropping coordinates.
} catch (IllegalArgumentException e){
Log.d("First Activity", "Failed to recycle bitmap for rect=" + region, e);
} catch (IOException e) {
Log.d("First Activity", …Run Code Online (Sandbox Code Playgroud) 可能重复:
UIImagePickerController拍摄的图像的访问元数据(exif标签) - iOS/iPhone
如何在ios中获取图像元数据
我在iOS应用程序本地文件夹中有一些图像文件.我怎样才能获得它的元数据?