Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-04-2006
soloriv soloriv is offline
Miembro
 
Registrado: jul 2004
Posts: 75
Poder: 20
soloriv Va por buen camino
Editar Imagen con Streach

Hola amigos Foreros
Tengo un componente image en el que uso los eventos onmouse.. para editar lineas en el mismo pero me veo obligado a usar la imagen en su tamaño original. Lo que hago son :lineas, texto y otros pero necesito que la imagen tenga la propiedad streach activa para una mejor visualizacion en el tamaño del componente pero las coordenadas de la imagen parecen que se recalculan y no salen bien ubicadas en la posicion que les indico con las var: x,y ; que tienen los eventos onmouse para coordenadas al activar el streach.
Si alguien me puede ayudar para editar imagenes con streach activo muy agradecido.
Saludos y Gracias Soloriv.
Responder Con Cita
  #2  
Antiguo 20-04-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Para pasar de las coordenadas del evento del raton a las de la imagen puedes usar algo como esto:

Código Delphi [-]
function RatonAImagenX(Imagen: TImage; x: integer): integer;
begin
  Result:= (x * Imagen.Picture.Width) div Imagen.Width;
end;

function RatonAImagenY(Imagen: TImage; y: integer): integer;
begin
  Result:= (y * Imagen.Picture.Height) div Imagen.Height;
end;

Es una solucion, otra es cambiar el tamaño de la imagen por codigo en vez de usar la propiedad strech. Esto tiene el inconveniente de que si la imagen luego se quiere guardar, se guardara con el tamaño cambiado. Usa la que mas te convenga.

Código Delphi [-]
procedure Estrechame(Imagen: TImage);
var
  Bitmap: TBitmap;
begin
  Bitmap:= TBitmap.Create;
  try
    Bitmap.Width:= Imagen.Width;
    Bitmap.Height:= Imagen.Height;
    Bitmap.Canvas.StretchDraw(Bitmap.Canvas.ClipRect,Imagen.Picture.Graphic);
    Imagen.Picture.Assign(Bitmap);
  finally
    Bitmap.Free;
  end;
end;

Última edición por seoane fecha: 20-04-2006 a las 18:24:33.
Responder Con Cita
  #3  
Antiguo 24-04-2006
soloriv soloriv is offline
Miembro
 
Registrado: jul 2004
Posts: 75
Poder: 20
soloriv Va por buen camino
Hola amigos Foreros.
Gracias por contestar la solucion que adopte es la de las funciones que proponia soane y salio tal como lo queria.
Saludos Soloriv.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como editar imagen erasmorc Gráficos 6 24-10-2005 18:46:17
Editar DBNavigator samame Varios 1 28-04-2004 10:21:02
editar un exe piskapocha Varios 2 31-03-2004 22:20:39
Editar ficheros .ini rvinfo Varios 4 02-09-2003 10:38:02
Editar propiedades JMGR OOP 13 07-06-2003 00:01:39


La franja horaria es GMT +2. Ahora son las 04:31:44.


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
Copyright 1996-2007 Club Delphi