Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
Ritagliare immagini in CR
lunedì 09 marzo 2009 - 12.06
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
YoungWorker
Profilo
| Newbie
6
messaggi | Data Invio:
lun 9 mar 2009 - 12:06
Ciao a tutti, ho un problema con le immagini: in un report ho bisogno che l' immagine inserita (come campo BLOB di una query) sia ritagliata anzichè ridimensionata; nella formattazione del grafico (tasto destro sull' immagine) ho visto che si può fare ma non ho trovato il modo di farlo con delle formule e quindi dinamicamente.
CR è Crystal report basic 2008
Grazie anticipatamente.
ps se vi mancano informazioni scusatemi ma sono nuovo e come si capisce dal nome sono un giovane lavoratore = non espertissimo...
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
lun 16 mar 2009 - 15:42
forse ci riesci così..
selezionando il campo Blob che hai inserito nel foglio di crystal report
cliccando "Format grafic" nella scheda "Picture" hai un frame "Crop From"
credo lo si faccia da li quello che hai bisogno..
fai una prova e facci sapere.
ciao
Vincenzo
Programmatore sbilenco
YoungWorker
Profilo
| Newbie
6
messaggi | Data Invio:
lun 16 mar 2009 - 18:22
Ciao, come dicevo nella domanda ho visto che da li si può fare; il problema è che non riesco a farlo dinamicamente, mi spiego meglio: io ho immagini di diversa grandezza, ogni volta che ne viene caricata una dovrei controllare che la larghezza e l' altezza superino 2,5 cm; se è cosi le ritaglio. La finestra che si apre invece consente solo di ritagliare un immagine sempre di n X m senza controlli ne formule dinamiche. Hai qualche idea per farlo in questo modo?
ps se ti può aiutare con formule intendo quelle tipo "ometti se"..
grazie mille
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
lun 16 mar 2009 - 18:31
temo allora che non si possa fare...
l'unico modo che mi viene in mente al momento è di passare le immagini ad un subreport.
nella pagina principale dalle proprietà del subreport togli il segno di spunta in CanGrow e gli dai le dimensioni che vuoi..
in questo modo vedi solo quello e il resto dell'immagine è come se fosse tagliata
Vincenzo
Programmatore sbilenco
YoungWorker
Profilo
| Newbie
6
messaggi | Data Invio:
mer 18 mar 2009 - 11:06
Si ci ho provato ma ho trovato difficoltà nel fatto che un sottoreport ha bisogno di un' altra origine dati.Io uso delle StoredProcedure in SQl2005 e quella agganciata al report ha bisogno di impostare dei parametri a mano, facendo riferimento alla stessa stored me li chiede 2 volte; potrei richiamare la stored del subreport da quella principale passandogli i parametri..proverò.. In ogni caso grazie mille per l' aiuto
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
mer 18 mar 2009 - 11:21
non propio...al DataSource puoi la stessa fonte dati..
o meglio ti popoli un datatable che passerai sia a quello principale che al subreport...
con un'unico accesso quindi al db...
Vincenzo
Programmatore sbilenco
YoungWorker
Profilo
| Newbie
6
messaggi | Data Invio:
mer 18 mar 2009 - 12:58
..mi sembra di capire che tu gestisci anche l' interfaccia tra il software e Crystal perchè Datatable è un oggetto di .Net giusto? purtroppo non mi occupo di quella parte, io creo le Stored e le aggancio al report..se invece non è così mi potresti spiegare come fare perchè in Crystal non ho mai visto usare delle DataTable...Grazie
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
sab 21 mar 2009 - 13:32
Ciao,
se vuoi vedere come visualizzare un report passandogli un DataTable puoi scaricarti l'esempio che trovi qui:
http://www.dotnethell.it/articles/Crystal-Reports-Integration-Windows-Form.aspx
Sostanzialmente cmq si tratta di usare il metodo "SetDAtaSource" dopo che hai riempito una datatable leggendo da un database.
Per il problema di applicare quell'operazione di "crop" da codice non credo nemmeno io sia possibile, se non facendo qualcosa da codice, come ad esempio quello che viene mostrato qui per caricare l'immagine vera e propria:
http://www.dotnethell.it/tips/Crystal-Reports-BLOB.aspx
dove viene passato l'array di byte dell'immagine letta da codice sul disco...facendo così potresti fare qualche operazione sull'immagine direttamente usando le classi del namespace System.Drawing del Framework.
Chiaramente se hai tanti dati da visualizzare vanno valutate le prestazioni...
Altrimenti potresti assoggettare l'operazione di crop ad una formula, e sempre da codice analizzare l'immagine girando sulle righe lette dal db ed impostare il valore della formula a seconda di quello che hai trovato...
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !