Ver Mensaje Individual
  #2  
Antiguo 21-06-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Olenkaguilar.

Por tu mensaje veo que estas usando una versión Delphi superior a la mía y PnpImage difiere. Y aunque, salvadas las diferencias, tu código no me degrada las imágenes, proba de esta forma por las dudas.

Te pongo un ejemplo que usa 3 SpeedButtons y tres imágenes .png guardadas en imágenes.res.

Archivo imagenes.rc:
Código:
1 RCDATA Burn_48x48.png
2 RCDATA cancel_48x48.png
3 RCDATA User_48x48.png
Y luego de :
Código:
brc32 -r -v imagenes.rc
Este código:
Código Delphi [-]
...
implementation

{$R imagenes.res}

uses PngImage;

procedure LoadPngFromRes(const ResName: string; const Index: Integer; Pic: TPicture);
var
  RE : TResourceStream;
begin
  with TPngObject.Create do
  try
    RE  := TResourceStream.Create(hInstance, '#'+ IntToStr(Index), RT_RCDATA);
    try
      RE.Seek(0, soFromBeginning);
      LoadFromStream(RE);
      AssignTo(Pic);
    finally
      RE.Free;
    end;
  finally
    Free;
  end;
end;

// Cargar imágenes en SpeedButtons al inicio
procedure TForm1.FormCreate(Sender: TObject);
var
  i  : Integer;
  C  : TComponent;
begin
  for i := 1 to 3 do
  begin
    C := FindComponent('SpeedButton' + IntToStr(i));
    if C <> nil then
    begin
      TSpeedButton(C).Flat := True;
      LoadPngFromRes('IMAGEN.RES', i, TPicture(TSpeedButton(C).Glyph));
    end;
  end;
end;
...
Con este resultado:


Nota: Para que funcione el ejemplo, es necesario que los TSpeedButtons se llamen SpeedButton1, SpeedButton2 y SpeedButton3.

Saludos.

Edito: La degradación, también podría deberse a algún problema con el formato de las imágenes y no a como son tratadas en tu código...
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 21-06-2013 a las 08:07:03.
Responder Con Cita