Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
No puedo ajustar una imagen a un tamaño de papel correctamente

Pues este proyecto es antiguo y lo estoy modificando porque me di cuenta que no ajusta bien el tamaño. Lo he solucionado poniendo el codigo dentro de un bucle do...while pero creo que deberia funcionar bien a la primera y no veo la manera.
Aqui el codigo:
Código PHP:
#define MAXHEIGHTA5 745  //Alto maximo para imprimir en A5
#define MAXWIDTHA5 524   //Ancho maximo para imprimir en A5
#define MAXHEIGHTA4 1080 //Alto maximo para imprimir en A4
#define MAXWIDTHA4 745   //Ancho maximo para imprimir en A4
#define MAXHEIGHTA3 1537 //Alto maximo para imprimir en A3
#define MAXWIDTHA3 1040  //Ancho maximo para imprimir en A3

      
int deltay;
      
int deltax;
      
float porcentaje 100;

      do{
         switch(
VividReport1->PaperSize)
         {
            case 
A5:
               
deltay CurrentImage->Picture->Bitmap->Height MAXHEIGHTA5;
               
deltax CurrentImage->Picture->Bitmap->Width MAXWIDTHA5;
               break;

            case 
A4:
               
deltay CurrentImage->Picture->Bitmap->Height MAXHEIGHTA4;
               
deltax CurrentImage->Picture->Bitmap->Width MAXWIDTHA4;
               break;

            case 
A3:
               
deltay CurrentImage->Picture->Bitmap->Height MAXHEIGHTA3;
               
deltax CurrentImage->Picture->Bitmap->Width MAXWIDTHA3;
               break;
         }

         
//Averiguamos el ancho y alto apropiados para la imagen
         
if(deltay deltax && deltay 0)
         {
            
porcentaje = (100.0 maxHeight) / CurrentImage->Picture->Bitmap->Height;
         }
         else if((
deltay deltax || deltay == deltax) && deltax 0)
         {
            
porcentaje = (100.0 maxWidth) / CurrentImage->Picture->Bitmap->Width;
         }

         if(
porcentaje 100)
         {
            
CurrentImage->Picture->Bitmap->Width -= ((CurrentImage->Picture->Bitmap->Width - (CurrentImage->Picture->Bitmap->Width porcentaje 100)));
            
CurrentImage->Picture->Bitmap->Height -= ((CurrentImage->Picture->Bitmap->Height - (CurrentImage->Picture->Bitmap->Height porcentaje 100)));
         }
      }while(
deltax || deltay 0); 
La idea es quitar el do...while y que se ajuste a la primera. ¿Alguien puede ayudarme?
Responder Con Cita
 



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
ajustar tamaño imagen en un QRDBImage Dclase Varios 4 09-04-2008 15:30:27
FastReport+Corte de papel+tamaño de papel Cheerpipe Impresión 3 25-03-2008 17:55:53
Ajustar el tamaño de la imagen para imprimir ingel Impresión 3 07-03-2007 21:26:25
Ajustar tamaño Barcode hepdad Impresión 2 05-04-2006 15:29:41
ajustar tamaño de fuente VIRU Varios 5 07-02-2006 18:37:44


La franja horaria es GMT +2. Ahora son las 23:10:16.


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