On 2011-12-05, at 4:51 PM, Alex <cap...@gmx.de> wrote:

> Dear all!
>
> I would like to draw a menu like the one in the game TRAUMA (cf.
> http://images.netzwelt.de/thumb/27/2011/4322/32288-test-trauma.jpg &&  no, I
> don't want to code a game).
>
> So, it's basically 4 picture slides in a row. For testing purposes, I assume
> my window to be 640x400. Each of the 4 pics should have 160 x 400 px.
> I need to load each one of the 4 images and blit them to the surface.
>
> How do I do that?
>
> Here is what I got so far and I don't see anything else than a black screen
> with 640 x 400 pixels :-s
>
> [code]
> #!perl
>
> use strict;
> use warnings;
> use utf8;
> use Data::Dumper qw/Dumper/;
> use SDL;
> use SDLx::Surface;
> use SDL::Event;
> use SDL::Events;
> use SDLx::App;
> use SDL::Image;
>
> # create our main screen
> my $app = SDLx::App->new(
>    w => 640,
>    h => 400,
>    exit_on_quit => 1,
>    dt => 0.2,
>    title => 'SDLx Menu'
> );
>
> $app->update(); # make it black
>
> my $some_jpg_file = 'images/1-0d5ff539c7a3d166.jpg';
> my $image = SDL::Image::load( $some_jpg_file );
>
> $app->blit_by(
>    $image,
>    [0, 0, 160, 400],
> );
>

$app->blit();

> $app->run();
>
> # -- Cleanup.
> exit(0);
> [/code]
>
> And, is it possible to extract a picture section from the image loaded? In
> case the app is loaded with 4:3 aspect ratio, I would like to snip a bit of
> the images at the left and the right, so that the pictures fit in without
> the need of black bars at the top and the bottom of the screen.

Yup this is possible. Make a smaller SDLx::Surface of the final
snipped image, blit_by the original image with the right offset.

>
> Best regards,
> Alex
>

Reply via email to