Italian community of Lazarus and Free Pascal

Presentazioni => Presentazioni nuovi utenti => Topic aperto da: panfra - Aprile 11, 2021, 12:49:54 pm

Titolo: picture che non si ridimensiona
Inserito da: panfra - Aprile 11, 2021, 12:49:54 pm
con il pc in cui gira win 10 64 bit ho installato Lazarus.
qui mi accade questo:
dopo aver fatto della picture box il canvas su cui disegnare tento di variarne le dimensioni, ma non succede nulla...
Grazie.
Titolo: Re:picture che non si ridimensiona
Inserito da: DragoRosso - Aprile 11, 2021, 02:16:56 pm
Se ti riferisci al codice che ai postato in un altro topic, quando chiami la procedura ResizeImage, passi un parametro non ancor istanziato:

Codice: [Seleziona]
var
 A, L : integer;
 Imgout: Tpicture ;

begin

  showmessage('A');

  A := round((Altezza/100)*Percentuale);
  L := round((Larghezza/100)*Percentuale);

  ResizeImage(form1.Image1.picture,ImgOut, L, A);

ImgOut non è stato "creato", e quando lo elabori nella ResizeImage ancora non viene instanziato.
Prova ad inserire un "Create" prima della chiamata a ResizeImage così:

Codice: [Seleziona]
var
 A, L : integer;
 Imgout: Tpicture ;

begin

  showmessage('A');

  A := round((Altezza/100)*Percentuale);
  L := round((Larghezza/100)*Percentuale);

  Imgout := TPicture.Create;
  Imgout.Bitmap.SetSize(L, A);

  ResizeImage(form1.Image1.picture,ImgOut, L, A);
Titolo: Re:picture che non si ridimensiona
Inserito da: panfra - Aprile 11, 2021, 09:35:48 pm
grazie per la risposta provero' immediatamente. ;D ;D
In questo caso pero mi riferivo ad un altro software in cui ho scritto:

Codice: [Seleziona]
picturegen.canvas
picturegen.whith := 500
......
quello che non mi fà e' di ridimensionare la picture
grazie.
Titolo: Re:picture che non si ridimensiona
Inserito da: SB - Aprile 14, 2021, 06:52:18 pm
Ricorda che la picture è un contenitore
Va ridimensionata anche la bitmap interna

  oImg.Picture.Bitmap.Width := oImg.Width;
  oImg.Picture.Bitmap.Height := oImg.Height;