PDA

Ver la Versión Completa : cambiar tamaño a imagen con imagecontrol desde codigo


FabianSiza
23-09-2014, 22:33:30
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

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
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:

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:

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:

http://www.clubdelphi.com/images/UtilizarTAGs.png

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

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

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
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.

uses JPEG;

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

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

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;
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 (http://clubdelphi.com/foros/showthread.php?t=76895) te de más ideas.


Saludos.