Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.449
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En mi página web hay un ejemplo justo de lo contrario, trocear una imagen en N dividiendo la inicial en forma de tablero. Ya se que no es exactamente lo mismo, pero creo que si revisas el código te pueda dar la idea de cómo hacerlo.

Creo que la idea es muy similar, y las herramientas paa conseguirlo, las mismas. En una, se divide el canvas y se guardan las partes, en el otro (el tuyo), se trata de crear un canvas más grande e ir añadiendo los trozos.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #2  
Antiguo 02-03-2009
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 20
BlackDaemon Va por buen camino
Hola

Pues he bajado el ejemplo y poco o nada le entiendo jeje, primero tengo una duda, ¿por que siempre trabajan con mapa de bits (.bmp)? y no con un jpg o png ?

Bueno, lo que no se muy bien como hacer es a la hora de crear mi Timage, de que tamaño lo crearía ? de la suma de todos los lados por anchos de las imágenes a unir ?? O iría agrandando de acuerdo a lo que necesite ?
ya que como comenté antes, la imágen resultante puede ser _muy_ grande.. por cierto, hasta cuanto de tamaño puedo crear una imágen en delphi ? ya que había pensando que si se necesita más grande, pues que se creen 2 o 4, dependiendo del máximo soportado por delphi

Saludos!
Responder Con Cita
  #3  
Antiguo 02-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.449
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por BlackDaemon Ver Mensaje
¿por que siempre trabajan con mapa de bits (.bmp)? y no con un jpg o png ?
Porque es un ejemplo.
Entre otras cosas, porque el ejemplo es antiguo y Delphi sólo soporta PNG desde la última versión. En cuanto a JPEG supongo que se podrá hacer sin problemas.

Cita:
Empezado por BlackDaemon Ver Mensaje
Bueno, lo que no se muy bien como hacer es a la hora de crear mi Timage, de que tamaño lo crearía ? de la suma de todos los lados por anchos de las imágenes a unir ??
Pues eso sería bastante lógico. Crear un TCanvas con la dimensión total (si es que la conoces) y pegar en cada punto la imagen que toca.

Cita:
Empezado por BlackDaemon Ver Mensaje
O iría agrandando de acuerdo a lo que necesite ?
ya que como comenté antes, la imágen resultante puede ser _muy_ grande.. por cierto, hasta cuanto de tamaño puedo crear una imágen en delphi ? ya que había pensando que si se necesita más grande, pues que se creen 2 o 4, dependiendo del máximo soportado por delphi
El ir agrandando no creo que te solucione el problema; Si tienes problemas con una imagen grande, aunque empieces con ella pequeña, cuando la vayas agrandando llegarás a tener el mismo problema.

No se a qué te refieres con muy grande. Supongo que los límites vienen dados por la memoria; De todas formas cualquier tratamiento con imágenes grandes va a ser lento y tedioso. Das pocas explicaciones de qué vas a hacer luego con esa imagen tan grande, pero yo optaría por no trabajar con imágenes gigantescas, sino con imágenes más pequeñas que luego combinas para simuñar una más grande.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 02-03-2009
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 20
BlackDaemon Va por buen camino
Hola

Bueno, me a quedado todo claro, y tienes razón en eso de ir haciendo más grande las dimenciones del Timage, mejor lo hago a la primera, y si, si conozco el tamaño que tendrá al final.

Ahora lo que intento hacer es esto:
1.- .Crear una clase derivada de Timage (la cual contendrá todo el tablero)
2.- Asignarle el tamaño de si ancho y alto (suma de todas las dimenciones de imágenes pequeñas)
3.- Crear otra clase derivada de Timage (la cual contendrá la imágen pequeña)
4.- Cargo la primera imágen pequeña
5.- Ahora la copiaría a la esquina superior izquiera de Timage grande (Cómo hago esto??)
6.- Lo mismo que 5, pero abajo de la primera
7.- ahora a la derecha y por último abajo de la imágen de la derecha

Bueno, esto suponiendo que tengo 4 imágenes y que para unirlas tendría que seguir esto:

0,0 - 1,0
0,1 - 1,1

So tendría de 3x3 pues así:

0,0 - 1,0 - 2, 0
0,1 - 1,1 - 2, 1
0,2 - 1,2 - 3, 2

Bueno, creo que la lógica la sé, pero lo que no sé es que funciones, propiedades usar para copiar, pegar de un Timage a otro

Luego supongo que con 2 bucles anidados solucionaría el problema

A ver si alguien me puede guiar con un poco de código, desde ya muchas gracias

Saludos!
Responder Con Cita
  #5  
Antiguo 02-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.449
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por BlackDaemon Ver Mensaje
Bueno, creo que la lógica la sé, pero lo que no sé es que funciones, propiedades usar para copiar, pegar de un Timage a otro
De ahí venía la recomendación del ejemplo.
Debes Copiar un TCanvas (n directamente el TImage) sobre otro (cosa que hay en el ejemplo).
TRabajas con TImage, pero para copiar/pegar porciones, lo haces con la propiedad Canvas del TImage.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 02-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.449
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tal vez con un ejemplillo quede más claro.
Archivos Adjuntos
Tipo de Archivo: zip Unir imagenes.zip (12,9 KB, 23 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 02-03-2009
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 20
BlackDaemon Va por buen camino
Hola

Bueno, lo que hice hasta el momento es esto:

Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
var
  x, y, z, i, j : Integer;
  anchoImg, altoImg : Integer;
  ImagenXY : TImage;
  str, lado : String;
begin
  anchoImg := 256;
  altoImg := 256;
  x := 0;
  y := anchoImg;
  z := 3;
  lado := 'DERECHA';

  Memo1.Lines.Add('Creamos el Timage de: ' + IntToStr(anchoImg * z) + 'px * ' + IntToStr(altoImg * z) + 'px');
    for i := 0 to z  - 1 do
    begin
      for j := 0 to z - 1 do
      begin
        str := 'Copiamos la imagen  ' + IntToStr(i) + ',' +IntToStr(j) + ' desde: ' + IntToStr(x) + ' hasta: ' + IntToStr(y) + ' Pos: ' + lado;
        Memo1.Lines.Add(str);
        x := y;
        y := y + anchoImg;
        lado := 'ABAJO';
      end;
      x := 0;
      y := anchoImg;
      Memo1.Lines.Add(' ================ ');
      lado := 'DERECHA';
    end;


end;

Al parecer estoy aplicando las funciones de copiar de Canvas debería estar solucionado, pero ¿Cuales son esas propiedades/funciones ?


EDIT:

Bueno, mientras escribía ya el señor Neftali había puesto 2 post, joer xD
ya me bajé el ejemplo y estoy probando y al parecer solo tengo que incorportarlo en lo que hice, claro, si eso estará bien, cosa que no lo creo jeje

Saludos!

Última edición por BlackDaemon fecha: 02-03-2009 a las 17:00:43. Razón: Mi conexión es más lenta que la de Neftali xD
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Unir dos pdf nelem Internet 4 11-02-2009 14:03:07
Unidad de Delphi para crear imágenes ISO de DVDs ISEKO Varios 3 17-10-2008 15:39:30
¿Cómo puedo poner imágenes en mis mensajes en el foro? Paulao Varios 4 22-08-2008 19:33:30
Unir tres qry alcides SQL 6 11-07-2005 17:34:33
Unir Columnas vtdeleon SQL 4 15-06-2005 00:34:49


La franja horaria es GMT +2. Ahora son las 17:11:00.


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