Skip Menu |

This queue is for tickets about the Wx CPAN distribution.

Report information
The Basics
Id: 130322
Status: new
Priority: 0/
Queue: Wx

People
Owner: Nobody in particular
Requestors: user42_kevin [...] yahoo.com.au
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Wx::Image bad bytes saving by Wx::BMPHandler SaveFile
Date: Sat, 17 Aug 2019 15:00:20 +1000
To: bug-Wx [...] rt.cpan.org
From: Kevin Ryde <user42_kevin [...] yahoo.com.au>
In recent Debian i386 WxPerl 0.9932 and Wx library 3.0.4, saving a Wx::Image using Wx::BMPHandler seems to give bad bytes in the output. The program below gives a good file by the Wx::Image SaveFile method, but different and apparently bad file by the Wx::BMPHandler method. I hope I've made a correct call for the handler SaveFile. I believe this or something like it worked in the past. Dunno if it's a WxPerl problem or a Wx problem. Saving to PNG and JPEG seem ok. I struck this on CUR format (variant of BMP) which is bad too. A hex dump shows the good one 00000 42 4D 8E 02 00 00 00 00-00 00 36 00 00 00 28 00 BM........6...(. ... and the bad one 00000 42 4D 4D 8E 02 00 00 02-00 00 00 00 00 00 00 00 BMM............. 00010 00 00 00 00 00 00 00 36-00 00 00 00 00 00 00 00 .......6........ 00020 00 28 00 00 00 00 00 00-00 00 00 14 00 00 00 00 .(.............. ... The bad looks worryingly like it's got extra 00 bytes in between the intended ones (though I've no explanation for why 4D is duplicated). Could it be any wide char vs byte coding ? use strict; use Wx; my $image = Wx::Image->new(20,10); $image->SaveFile('/tmp/save-by-image.bmp', Wx::wxBITMAP_TYPE_BMP()); my $handler = Wx::BMPHandler->new; open my $fh, '>', '/tmp/save-by-handler.bmp' or die $!; $handler->SaveFile($image, $fh); close $fh or die $!; system "ls -l /tmp/save-by-image.bmp /tmp/save-by-handler.bmp";