You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Stefan Oltmann (Jira)" <ji...@apache.org> on 2024/03/29 18:22:00 UTC
[jira] [Commented] (IMAGING-319) updateExifMetadataLossless lost the first character of a String
[ https://issues.apache.org/jira/browse/IMAGING-319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17832282#comment-17832282 ]
Stefan Oltmann commented on IMAGING-319:
----------------------------------------
Hi [~yangsicheng],
we have a fix for the problem, but we haven't it commited to the sources as we lack a test image for the unit tests.
Is the image you attached to this ticket yours? Do you own the rights to it? If so, would you allow us to add it to the projects sources (for unit tests) under Apache 2 license?
@[~kinow] FYI
> updateExifMetadataLossless lost the first character of a String
> ---------------------------------------------------------------
>
> Key: IMAGING-319
> URL: https://issues.apache.org/jira/browse/IMAGING-319
> Project: Commons Imaging
> Issue Type: Bug
> Components: Format: JPEG
> Affects Versions: 1.0-alpha2
> Reporter: Sicheng Yang
> Assignee: Bruno P. Kinoshita
> Priority: Major
> Attachments: Screen Shot 2021-11-26 at 4.01.06 PM-1.png, Screen Shot 2021-11-26 at 4.01.21 PM-1.png, iPhone12-geotag.JPG
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> I try to use TiffOutputSet to generate a new image. However, if a tag that contains String, the program may miss the first character of the String.
>
> import java.io.*;
> import org.apache.commons.imaging.ImageReadException;
> import org.apache.commons.imaging.ImageWriteException;
> import org.apache.commons.imaging.Imaging;
> import org.apache.commons.imaging.common.ImageMetadata;
> import org.apache.commons.imaging.formats.jpeg.JpegImageMetadata;
> import org.apache.commons.imaging.formats.jpeg.exif.ExifRewriter;
> import org.apache.commons.imaging.formats.tiff.TiffImageMetadata;
> import org.apache.commons.imaging.formats.tiff.write.TiffOutputSet;
> public class LibraryTest {
> public static void main(String[] args) throws ImageReadException, IOException, ImageWriteException {
> File source = new File("./assets/iPhone12-geotag.JPG");
> File result = new File("./assets/results/editted-iPhone12-geotag.JPG");
> final ImageMetadata metadata = Imaging.getMetadata(source);
> final JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata;
> final TiffImageMetadata exif = jpegMetadata.getExif();
> TiffOutputSet outputSet = exif.getOutputSet();
> BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(result));
> new ExifRewriter().updateExifMetadataLossless(source, bufferedOutputStream, outputSet);
> }
> }
>
> This is the sample code.
> Tag value in original image
> !image-2021-11-26-16-01-58-645.png!
> Tag value in output image
> !image-2021-11-26-16-04-12-185.png!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)