Delphi - Imagen PNG no es mostrada

   
Vista:

Imagen PNG no es mostrada

Publicado por Pablo (1 intervención) el 07/02/2014 08:37:45
Estoy usando Delphi 7 Pro. He instalado el componente llamado PNG Component, cuando intento cargar una imagen en formato PNG en el componente Image1, la aplicacion se inicia pero la Main Form es invisible. Solo muestra la imagen si cargo un BMP. Supongo que el problema reside en esta pieza de codigo, como debo modificarla para poder mostrar la imagen en PNG?:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TFMain.FormCreate(Sender: TObject);
var
  regn, tmpRegn, x, y: integer;
  nullClr: TColor;
  Settings: TInifile;
begin
  FMain.Brush.Bitmap := Image1.Picture.Bitmap;
  nullClr := Image1.Picture.Bitmap.Canvas.Pixels[0, 0];
  regn := CreateRectRgn(0, 0, Image1.Picture.Graphic.Width,
    Image1.Picture.Graphic.Height);
  for x := 1 to Image1.Picture.Graphic.Width do
    for y := 1 to Image1.Picture.Graphic.Height do
      if Image1.Picture.Bitmap.Canvas.Pixels[x - 1, y - 1] = nullClr then
      begin
        tmpRegn := CreateRectRgn(x - 1, y - 1, x, y);
        CombineRgn(regn, regn, tmpRegn, RGN_DIFF);
        DeleteObject(tmpRegn);
      end;
  SetWindowRgn(FMain.Handle, regn, True);
end;

Espero alguien me pueda ayudar, saludos y muchas gracias desde ya.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Imagen PNG no es mostrada

Publicado por E.T. (1108 intervenciones) el 08/02/2014 17:23:34
Te complicas mucho la carga de la imagen, intenta con esto:

1
2
3
4
pngImagen := TPNGObject.Create;
pngImagen.LoadFromFile('imagen.png');
image1.Picture.Assign(pngImagen);
pngImagen.Free;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar