Front page | perl.sdl.devel |
Postings from April 2012
Re: Help: with create a surface from my own RGBA data
Thread Previous
|
Thread Next
From:
Tobias Leich
Date:
April 5, 2012 10:02
Subject:
Re: Help: with create a surface from my own RGBA data
Message ID:
4F7DD014.5020403@froggs.de
Hi, do you know the pixel format of the data you have?
Do you get scanlines that you wanna pass to an SDL::Surface? Or do you
get just the whole image?
May I invite you to irc? Would be much easier than mails... #sdl at
irc.perl.org.
Cheers, FROGGS
Am 03.04.2012 22:12, schrieb agraham:
> Hi Guys,
>
> I am a complete Perl-SDL "newbie" and have spent a few days reading
> the docs on CPAN perl-SDL. I'm using version 2.536.
>
> I would like to create a surface from my own RGBA data and there seems
> to be no way to do that unless you do it a pixel at a time :(
>
> I am trying to hack Net::VNC so that it uses SDL:: instead of
> Image::Imlib2, so for example:
>
> The "raw encoding" from Net::VNC does this:
>
> $socket->read( my $data, $w * $h * 4 );
> my $raw = Image::Imlib2->new_using_data( $w, $h, $data );
> $raw->has_alpha(0);
> $image->blend( $raw, 0, 0, 0, $w, $h, $x, $y, $w, $h );
>
> I need to replicate the above in perl-SDL
>
> There is an map_RGBA function which maps 1 pixel, but not a bunch of
> them, so you can do:
>
> $dpixel=SDL::Video::map_RGBA( $display->format, 0, 0, 255);
>
> but not this:
>
> $dpixel=SDL::Video::map_RGBA( $display->format, $data);
> SDL::Video::fill_rect( $surface, $srect, $dpixel );
>
> I tried using SDL::RWOps as follows:
>
> $rw = SDL::RWOps->new_const_mem( $data);
>
> but I don't know how to get $rw into the surface!
>
> and
> $surface = SDL::Image::load( $rw );
> does not work.
>
> Any help would be much appreciated.
>
> Albert
Thread Previous
|
Thread Next