Newsgroup: it.comp.appl.access
Titolo: Ancora sulla visualizzazioni di immagini nei report

In questi ultimi giorni mi sono un po' stressato a trovare una soluzione che 
permettesse di visualizzare diverse immagini (di una certa consistenza) nei 
report.
Senza usare ocx di terze parti tutti i tentativi sono miseramente falliti!
Al massimo riesco a visualizzare tre immagini jpg o bmp nella stessa pagina. 
Con immagini piccoline si può fare di più!
Allora mi sono deciso a realizzare un ocx in VB6 che potesse essere usato in 
VBA...ma purtroppo con gli stessi risultati.
Arrivo al senso del post.
Al link sottostante si può scaricare sia l'ocx e un mdb (AXP: 
UsaImmaginiReport) che usa tale ocx. Se c'è qualcuno interessato e che vuole 
provare a migliorare l'ocx, sono certo farà cosa gradita al tutto il popolo 
di questo NG.
Nel frattempo l'ocx è liberamente utilizzabile previa registrazione al 
solito modo: regsvr32 PictureImage.ocx
In Access viene visto come PictureImage.OpenPic nella lista degli ActiveX 
inseribili.
Se usate il db ricordo di cambiare il percorso dei file nella tabella 
"PercorsoImmagini".
Le immagini apribili sono le seguenti:
.bmp
.gif
.jpeg
.jpg
.ico
.cur
.wfm
.emf
http://www.frantoiogestione.com/UsaImmaginiOCX.zip
Vediamo cosa succede!
Ciao, Carlo 

...dimenticavo di dire che nel file .zip c'è tutto il progetto vb6 per 
realizzare l'ocx.
Ciao, Carlo


Ciao Carlo, io gli dò un'occhiata di sicuro, purtroppo ultimamente ho 
pochissimo tempo e lo sivede dalla mia scarsa presenza nel NG(almeno 
da 10gg a questa parte)..!
Sinceramente però ho fatto una prova ed io con l'uso del controllo 
Image nativo visualizzo tranquillamente JPG da 250Kb(n° 16) con il 
problema della proressBar che non ho disabilitato volutamente, con il 
metodo Lebans altrettanto, ma molto più velocemente senza il problema 
del Load.
Con il tuo controllo stessa considerazione del metodo Lebans.
Puoi eventualmente chiarire la dimensione critica dei file in quanto 
non riesco a riprodurre il problema.
Ora ti chiedevo una cosa... hai pensato di passare tramite il tuo OCX 
per GDI+ e sfruttare la possibilità di caricare una Thumb passando a 
GDI l'HDC del controllo PictureBox...?
Nel NG di VB qualche tempo fà abbiamo proprio parlato di questo, e 
venne fuori una
roba di questo tipo che in modo estremamente semplice carica una 
Immagine THUMB nella PictureBox, e, passando per GDI+ non hai problemi 
di formato(Penso che anche il PNG sia supportato):
   Dim graphics As Long, img As Long, imgThumb As Long
   Dim lngHeight As Long, lngWidth As Long
   ' Initializations
   Call GdipCreateFromHDC(Me.PicControl.Hdc, graphics)
   ' Initialize the graphics class - required for all drawing
   Call GdipLoadImageFromFile(StrConv(App.path & "\imgtest.jpg",
vbUnicode), img)
   ' Load the image
   ' Create the thumbnail that is 100x100 in size
   Call GdipGetImageThumbnail(img, 100, 100, imgThumb)
   ' Get the image height and width
   ' NOTE: Could also skip this and use the hard-coded/predefined
values to save memory and time.
   Call GdipGetImageHeight(imgThumb, lngHeight)
   Call GdipGetImageWidth(imgThumb, lngWidth)
   ' Draw the thumbnail image unaltered
   Call GdipDrawImageRectI(graphics, img, 10, 10, lngWidth, 
lngHeight)
   ' Cleanup
   Call GdipDisposeImage(img) ' Delete the image
   Call GdipDisposeImage(imgThumb) ' Delete the thumbnail image
   Call GdipDeleteGraphics(graphics)
Chiaramente il vantaggio è proprio quello di non caricare 1Mb di 
immagine per poi vederla in dimensioni ridotte, quindi di sfruttare GDI
+ che in ogni caso può essere liberamente distribuita(anche se 
presente già da W2000 sp4 credo....)
Se ti serve il modulo di tutte le dichiarazioni API di GDI non ci sono 
problemi, questo perchè non riesco a garantirti di avere tempo per 
mettermi a sviluppare un OCX di questo tipo che richiede ovviamente un 
pò di tempo.... e sarebbe bello eventualmente riuscire a portarlo 
avanti anche parallelamente(i miei tempi possono essere poco utili 
visto i 2 mesi di lavori che ho avanti)....!
Se vuoi in ogni caso anche privatamente possiamo provarci, magari con 
un pò del tuo tempo ed un pò del mio riusciamo a fare una cosa molto 
valida....
Buon WeekEnd
@Alex

[CUT]
In VB6 l'ho fatto in pochissimo e funziona alla grande, ho 
implementato il Resize e tutto il PropertyBag del caso, il caricamento 
è rapidissimo e sfrutta l'ottimizzazione della dimensione dell'OCX, in 
pratica passa a GDI la Size del controllo PictureBox per avere 
direttamente l'immagine dimensionata....!
Volendo si può professionalizzare con altri giochetti, ma veniamo 
prima alle note dolenti....
Problema.
Con Access mi da problemi all'uso di GDI+(NON FUNZIONA), però vorrei 
che lo vedessi per capire magari insieme l'origine del problema.
Ciao
@Alex

 Ciao, Carlo
Ciao Carlo, io gli dò un'occhiata di sicuro, purtroppo ultimamente ho
pochissimo tempo e lo sivede dalla mia scarsa presenza nel NG(almeno
da 10gg a questa parte)..!
Sinceramente però ho fatto una prova ed io con l'uso del controllo
Image nativo visualizzo tranquillamente JPG da 250Kb(n° 16) con il
problema della proressBar che non ho disabilitato volutamente, con il
metodo Lebans altrettanto, ma molto più velocemente senza il problema
del Load.
Con il tuo controllo stessa considerazione del metodo Lebans.
Puoi eventualmente chiarire la dimensione critica dei file in quanto
non riesco a riprodurre il problema.
--------------------------------------
Immagini jpg da 2521 Kb.....ne bastano 3, la 4a non la visualizza più.
Ora ti chiedevo una cosa... hai pensato di passare tramite il tuo OCX
per GDI+ e sfruttare la possibilità di caricare una Thumb passando a
GDI l'HDC del controllo PictureBox...?
-------------------------------------------------
Ci sto pensando e se mi mandi il set di istruzioni per la GDI vedrò anche di 
provare questa.
cut
Intanto ti ringrazio.
Buon WeekEnd anche a te.
Ciao, Carlo

 ha scritto nel messaggio 
news:1169921556.8...@v45g2000cwv.googlegroups.com...
[CUT]


Problema.

Ciao
@Alex
------------------------------
Mandami pure il progetto così mi risparmio un po' di fatica.
Grazie, Carlo

 Ciao, Carlo
Fatto.... ance se sono almeno 7anni che non faccio più OCX...!
@Alex

 Ciao, Carlo
Fatto.... ance se sono almeno 7anni che non faccio piů OCX...!
@Alex
-----------------------
Complimenti.
Ricevuto il tutto...fatta una modifica e ora va alla grande anche in Access!
La pubblico in un prossimo post.
Ciao, Carlo

 Ciao, Carlo
Beh ero un pò arrugginito... ma devi svelare l'inghippo altrimenti
facciamo una spedizione a Paola...
;-)
Waiting for....
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------