[OpenJDK 2D-Dev] [9] RFR JDK-6334602 : Animated GIFs created from opaque PNG image frames appear transparent when loaded with Toolkit APIs

Phil Race philip.race at oracle.com
Mon Nov 14 23:12:19 UTC 2016


+1

-phil

On 11/14/2016 05:25 AM, Sergey Bylokhov wrote:
> ok, looks fine.
>
> On 14.11.16 15:12, Jayathirth D V wrote:
>> Hi Sergey,
>>
>> I tried using Robot and PixelGrabber. Since it is GIF animation and 
>> we are using restore to background, I am not able to time it properly 
>> to capture the required output to verify the test case.
>> I have updated the test case to throw RuntimeException when we are 
>> not able to create intermediate GIF image.
>> Please find updated webrev for review :
>> http://cr.openjdk.java.net/~jdv/6334602/webrev.02/
>>
>> Thanks,
>> Jay
>>
>> -----Original Message-----
>> From: Sergey Bylokhov
>> Sent: Friday, November 11, 2016 6:54 PM
>> To: Jayathirth D V; Philip Race; 2d-dev
>> Subject: Re: [OpenJDK 2D-Dev] [9] RFR JDK-6334602 : Animated GIFs 
>> created from opaque PNG image frames appear transparent when loaded 
>> with Toolkit APIs
>>
>> The change looks fine.
>>
>> I have a questions about the test, why we cannot automate it?
>> Should the test fail if some exception occurred, for ex 
>> "System.out.println("ERROR!!");"
>>
>> On 11.11.16 9:09, Jayathirth D V wrote:
>>> Hi Sergey,
>>>
>>> All the remaining files have "664" chmod permission. I have applied 
>>> the same on these files.
>>> Please find updated webrev for review :
>>> http://cr.openjdk.java.net/~jdv/6334602/webrev.01/
>>>
>>> Thanks,
>>> Jay
>>>
>>> -----Original Message-----
>>> From: Sergey Bylokhov
>>> Sent: Tuesday, November 08, 2016 5:59 PM
>>> To: Jayathirth D V; Philip Race; 2d-dev
>>> Subject: Re: [OpenJDK 2D-Dev] [9] RFR JDK-6334602 : Animated GIFs
>>> created from opaque PNG image frames appear transparent when loaded
>>> with Toolkit APIs
>>>
>>> Hi, Jay.
>>> Can you please take a look to the permissions of "Raw" files in the 
>>> webrev:
>>> http://cr.openjdk.java.net/~jdv/6334602/webrev.00/raw_files/new/test/j
>>> ava/awt/image/OpaquePNGToGIFTest.java
>>> http://cr.openjdk.java.net/~jdv/6334602/webrev.00/raw_files/new/test/j
>>> ava/awt/image/opaque_input.png
>>>
>>> "403 - Forbidden"
>>>
>>> On 08.11.16 13:00, Jayathirth D V wrote:
>>>> Hi,
>>>>
>>>>
>>>>
>>>> Please review the following fix in JDK9 at your convenience:
>>>>
>>>>
>>>>
>>>> Bug : https://bugs.openjdk.java.net/browse/JDK-6334602
>>>>
>>>>
>>>>
>>>> Webrev : http://cr.openjdk.java.net/~jdv/6334602/webrev.00/
>>>>
>>>>
>>>>
>>>> Issue : When we create GIF from Opaque PNG image and load it with
>>>> Toolkit API's it is shown as transparent image.
>>>>
>>>>
>>>>
>>>> Root cause : Issue happens only when we use disposal method - restore
>>>> to background. Because in this case when getTransparentPixel()
>>>> returns -1, we explicitly create transparent IndexColorModel so that
>>>> we can restore to background. While doing this we lose the original
>>>> IndexColorModel and always newly created transparent 
>>>> IndexColorModel will be considered.
>>>>
>>>>
>>>>
>>>> Solution : After fix in JDK- 4233748 we have extended GifImageDecoder
>>>> to include transparent pixel as part of ColorMap. There is no need
>>>> for us to explicitly check for transparentPixel and try to override
>>>> present IndexColorModel. So removed the logic for creating new
>>>> transparent IndexColorModel in case of disposal method - restore to 
>>>> background.
>>>>
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Jay
>>>>
>>>>
>>>>
>>>
>>>
>>> -- 
>>> Best regards, Sergey.
>>>
>>
>>
>> -- 
>> Best regards, Sergey.
>>
>
>




More information about the 2d-dev mailing list