Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-09-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.198
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Ya que se reabre este tema, voy a aportar una solución usando GDI+ que no tiene el inconveniente de la pérdida de calidad clásica de Stretch y usa HBITMAP con lo que se puede usar con cualquier formato de compresión. Podéis ver el código en C y delphi en este enlace: Redimensionar una imagen con GDI+ flat API.

Saludos.
Responder Con Cita
  #2  
Antiguo 24-09-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.106
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Gracias por compartirlo
Responder Con Cita
  #3  
Antiguo 24-09-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 12
aguml Va por buen camino
muy interesante el aporte. Hace mucho tiempo usé gdi+ para capturar parte de un form y guardarlo en bmp y me fue imposible porque tenia que capturar la imagen de un componente de visual basic y no se porque me creaba la imagen vacia. Como digo, me volvi loco y no lo consegui. A ver si mañana pruevo tu codigo a ver si me funciona. Una pregunta ¿Tu metodo da mas calidad que el que yo he mandado? Otra cosa, dices que hay que inicializar el gdi+ y finalizarlo al terminar ¿Como haces eso? Y por ultimo ¿No seria mejor crear una clase para hacer mas facil su uso con los metodos de inicializar, dibujar, redimensionar, y destruir?
Responder Con Cita
  #4  
Antiguo 25-09-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.198
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por aguml Ver Mensaje
¿Tu metodo da mas calidad que el que yo he mandado?
GDI+ es una mejora sustancial de GDI, es muy posible que las últimas versiones de delphi y builder trabajen con él.

Cita:
Empezado por aguml Ver Mensaje
dices que hay que inicializar el gdi+ y finalizarlo al terminar ¿Como haces eso?
Código:
// Inicializar GDI+.
__int64 gdiplusStartupInput[3];
ULONG_PTR  gdiplusToken;
gdiplusStartupInput[0] = 1; gdiplusStartupInput[1] = 0;
 
// Cerrar GDI+
GdiplusShutdown(gdiplusToken);
Cita:
Empezado por aguml Ver Mensaje
¿No seria mejor crear una clase para hacer mas facil su uso con los metodos de inicializar, dibujar, redimensionar, y destruir?
De hecho Microsoft tiene estructurado GDI+ en una librería de clases basada en la API GDI+. Yo usé la API básica para compatibililizar el uso del código con los compiladores Builder y delphi más antiguos. Algunos ejemplos que publiqué en delphiaccess usan la API básica y otros la librería de clases GDI+ para C++.


Saludos.

Última edición por escafandra fecha: 25-09-2014 a las 02:34:58.
Responder Con Cita
  #5  
Antiguo 25-09-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 12
aguml Va por buen camino
Amigo tengo un problema, haces un #pragma link "Gdiplus.lib" pero al compilar me dice que no encuentra "Gdiplus.lib" ¿como soluciono eso?
Responder Con Cita
  #6  
Antiguo 25-09-2014
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.198
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Usa IMPLIB.EXE contra gdiplus.dll para crear gdiplus.lib.
También puedes importar dinámicamente las APIs Gdiplus que uses.

Saludos.
Responder Con Cita
  #7  
Antiguo 25-09-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 12
aguml Va por buen camino
Ok ya lo conseguí.
En un rato adjunto un mini proyecto con esto.
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
¿Cómo cambiar tamaño una imagen después de cargarla? Master23 Varios 4 03-08-2010 18:37:58
¿Como cambiar el tamaño a una imagen? flystar Varios 1 22-04-2010 19:23:51
como saber y cambiar el tamaño a una imagen Negriz C++ Builder 10 09-06-2008 00:00:21
Cambiar tamaño de una imagen antes de guardar en una bd chux Gráficos 6 28-11-2006 11:58:58
Cambiar el tamaño de una imagen inter_mercadeo Gráficos 2 25-02-2005 17:43:54


La franja horaria es GMT +2. Ahora son las 10:18:20.


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