Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   FireMonkey (https://www.clubdelphi.com/foros/forumdisplay.php?f=50)
-   -   cambiar tamaño a imagen con imagecontrol desde codigo (https://www.clubdelphi.com/foros/showthread.php?t=86730)

FabianSiza 23-09-2014 22:33:30

cambiar tamaño a imagen con imagecontrol desde codigo
 
Hola a todos quiero hacer que un botón me cambie el tamaño de las imágenes que cargue en un imagecontrol intente asi
Código Delphi [-]
procedure TForm1.Button4Click(Sender: TObject);
begin
 imagecontrol1.Height:= 1928;
     imagecontrol1.Width:= 2580;
end;

como ya sabrán no funciono -_- ayuda por favor

Casimiro Notevi 23-09-2014 22:50:48

Cita:

Empezado por FabianSiza (Mensaje 481954)
como ya sabrán no funciono

¿Y qué no funcionó?, ¿solamente quieres que se cambie el tamaño en pantalla?

FabianSiza 23-09-2014 23:06:28

no se, importo la imagen asi:
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
begin
   OpenDialog1.Execute;
   if OpenDialog1.FileName <> '' then
      ImageControl1.Bitmap.LoadFromFile(OpenDialog1.FileName);
end;
con el codigo anterior no sucedia nada asi que trate asi:
Código Delphi [-]
imagecontrol1.bitmap.Height:= 1928;
imagecontrol1.Bitmap.Width:= 2580;
y ahora se quita la imagen

Casimiro Notevi 24-09-2014 00:19:01

¿Pero qué es lo que quieres hacer? :confused:

Por cierto, recuerda poner los tags al código fuente, ejemplo:



Gracias :)

FabianSiza 24-09-2014 00:34:58

es qu queria ponerle unos cuadros a unas imagenes con canvas pero los cuadros se distorcionaban con diferentes imagenes por que todas tienen medidas distintas, quiero cambiarle el tamaño a las imagenes que importo desde un imagecontrol a una medida fija de manera de que los cuadros no se distorcionen lo intente asi

Código Delphi [-]
imagecontrol1.bitmap.Height:= 1928;
imagecontrol1.Bitmap.Width:= 2580;

pero la imagen desaparece aun que los cuadros si quedan de la medida

Casimiro Notevi 24-09-2014 01:12:32

Sigo sin entender, ¿quiéres cambiar el tamaño de la imagen?, ¿quiéres cambiara el tamaño de presentación en pantalla de la imagen?, ¿quiéres ajustar la imagen al tamaño de un componente visual en pantalla?, etc.

ecfisa 24-09-2014 02:56:47

Hola.

Si, la verdad que no se entiende si queres redimensionar la imágen o su presentación.

Si se trata de lo último, ¿ Has intentado cargar la imágen en un TImage poniendo su propiedad WrapMode en iwStretch ?

Saludos :)

FabianSiza 25-09-2014 19:44:33

lo que quiero es cambiarle el tamaño a la imagen desde un imagecontrol por medio de un boton solo eso perdon por no hacerme entender gracias

trate con este codigo

Código Delphi [-]
imagecontrol1.bitmap.Height:= 1928;
imagecontrol1.Bitmap.Width:= 2580;

pero la imagen desaparece del imagecontrol aun asi exporte la imagen y me di cuenta de que cambio la imagen del tamaño que quería pero exporto una imagen color negro.

Casimiro Notevi 25-09-2014 19:55:20

Cita:

Empezado por FabianSiza (Mensaje 482092)
lo que quiero es cambiarle el tamaño a la imagen desde un imagecontrol por medio de un boton solo eso perdon por no hacerme entender gracias

Entonces, quieres cambiar el tamaño físico de la imagen. El imagecontrol y el botón no tienen nada que ver.

FabianSiza 25-09-2014 20:09:43

lo que pasa es que importo la imagen a un imagecontrol, luego espero cambiarle el tamaño con un boton para despues exportarla con el tamaño nuevo

camiz 26-09-2014 01:42:04

hola FabianSiza,
Quizas no sea la respuesta que esperas, pero si quieres cambiar el tamaño de las imagenes a tu gusto prueba con esto. y si te sirve ve la forma de integrarlo en tu proyecto.

Código Delphi [-]
uses JPEG;

type
  TForm1 = class(TForm)
    ........

    procedure Redimensionar(Imagen: TGraphic; Ancho, Alto: Integer);
  private

Código Delphi [-]
procedure TForm1.Redimensionar(Imagen: TGraphic; Ancho, Alto: Integer);
var
  Bitmap: TBitmap;
begin
  Bitmap:= TBitmap.Create;
  try
    Bitmap.Width:= Ancho;
    Bitmap.Height:= Alto;
    Bitmap.Canvas.StretchDraw(Bitmap.Canvas.ClipRect,Imagen);
    Imagen.Assign(Bitmap);
  finally
    Bitmap.Free;
  end;
end;
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Jpg: TJPEGImage;
  ancho, alto: integer;
begin
  ancho := StrToInt(Edit1.Text);
  alto := StrToInt(Edit2.Text);
  Jpg:= TJPEGImage.Create;
  try
    Jpg.LoadFromFile(ExtractFilePath(Application.ExeName) + 'Original.jpg');
    Redimensionar(Jpg,ancho,alto);
    Jpg.SaveToFile(ExtractFilePath(Application.ExeName) + 'Copia.jpg');
  finally
    Jpg.Free;
  end;
end;

escafandra 28-09-2014 00:36:05

Quizás la lectura completa de este hilo te de más ideas.


Saludos.


La franja horaria es GMT +2. Ahora son las 12:46:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi