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
App. WinForms / WPF .NET
Stampare una picturebox tramite codice....
martedì 28 novembre 2017 - 12.45
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 4.0
|
Visual Studio 2010
e444
Profilo
| Newbie
9
messaggi | Data Invio:
mar 28 nov 2017 - 12:45
Non riesco a capire come fare...
Ho una "bmp" nel "My.Resources", ed ho la necessità di farlo uscire in stampa su coordinate precise...
Qualcuno può aiutarmi?
Grazie.
Peppino
Profilo
| Junior Member
193
messaggi | Data Invio:
mar 28 nov 2017 - 15:49
2060_EsempioStampa.zip
Ciao.
Non so che cosa usi per la programmazione. Se per la stampa usi PrintDocument in Visual Studio, allora
per aiutarti, ti allego un esempio funzionante in cui puoi prendere spunto per iniziare. Diversamente di sicuro ci sarà qualcun'altro più esperto di me
che ti dirà come fare.
Fammi sapere. Ciao. Peppino.
e444
Profilo
| Newbie
9
messaggi | Data Invio:
mar 28 nov 2017 - 17:52
Allora...
Si... uso Visual Studio 2010 e il tutto è tramite il PrintDocument...
Ora vedo cosa mi hai mandato... e ti faccio sapere.
Grazie per ora per il tuo aiuto.
e444
Profilo
| Newbie
9
messaggi | Data Invio:
mar 28 nov 2017 - 18:00
Non mi si apre nulla...
1359x716
207Kb
Che faccio??
Peppino
Profilo
| Junior Member
193
messaggi | Data Invio:
mar 28 nov 2017 - 23:23
Ciao. E' strano, forse perché lo creato con Visual Studio 2017 Community. Ma ti doveva dare l'errore in tal senso.
Comunque da Visual Studio, crea nuovo progetto, apri la Form1 in modalità progettazione e dalla casella degli strumenti ci trascini dentro:
PrintDocument, PrintDialog e PrintPreviewDialog
n. 4 NumericUpDown uno per impostare il margine superiore dell'immagine, uno per impostare il margine sinistro dell'immagine, uno per impostare la larghezza
dell'immagine e l'altro per impostare l'altezza dell'immagine. Siccome sono impostati a zero, vai nella proprietà 'Value' di ognuno e gli dai le misure che
desideri. Io per default gli ho dato in ordine i seguenti valori: margine superiore 30, margine sinistro 30, larghezza 250 e altezza 200. Prima sempre nella
proprietà di ognuno devi aumentare il valore 'Maximum' con un valore maggiore di quello che dovresti dare nella proprietà 'Value'. Per ognuno gli porti
accanto una Label con scritto nella proprietà 'Text' la descrizione abbinata per ricordarti quale valore stai dando.
n. 1 PictureBox, n. 3 Button il primo gli dai il nome BtnAnteprima e nella proprietà 'Text' scrivi Anteprima di Stampa, il secondo gli dai il nome BtnStampa e
nella proprietà 'Text' scrivi Stampa e il terzo gli dai il nome BtnChiudi e nella proprietà 'Text' scrivi Chiudi. Fai click su tutti e
tre i Button. Apri la Form1 in modalità inserimento codice e completa il codice cosi com'è di seguito.
Imports System.Data.SqlClient
Imports System.Drawing.Printing
Public Class Form1
Inherits System.Windows.Forms.Form
<STAThreadAttribute()>
Public Shared Sub Main()
Try
Application.EnableVisualStyles()
Application.Run(New Form1)
Catch e As Exception
MessageBox.Show(e.Message & e.StackTrace)
End Try
End Sub
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
''' <summary>
''' Il controllo Anteprima di Stampa è associato a PrintDocument e quando viene eseguito
''' il rendering dell'anteprima, viene generato l'evento PrintPage. Questo evento viene passato a un
''' contesto grafico in cui "disegna" la pagina.
''' </summary>
Private Sub BtnAnteprima_Click(sender As Object, e As EventArgs) Handles BtnAnteprima.Click
Try
Dim PrinDocument1 As New PrintDocument()
' Orientamento della stampa orizontale impostata su (false).
PrintDocument1.DefaultPageSettings.Landscape = False
PrintPreviewDialog1.Document = PrintDocument1
PrintPreviewDialog1.ShowDialog()
Catch ex As Exception
MessageBox.Show("Questo errore è nell'applicazione: " & ex.Message.ToString(), "Attenzione!")
End Try
End Sub
''' <summary>
''' Il controllo Stampa consente all'utente di selezionare la stampante che desidera utilizzare per stampare,
''' nonché altre opzioni di stampa.
''' </summary>
Private Sub BtnStampa_Click(sender As Object, e As EventArgs) Handles BtnStampa.Click
Dim PrinDocument1 As New PrintDocument()
' Set the page orientation to landscape(false).
PrintDocument1.DefaultPageSettings.Landscape = False
PrintDialog1.Document = PrintDocument1
If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
PrintDocument1.Print()
End If
End Sub
Private Sub BtnChiudi_Click(sender As Object, e As EventArgs) Handles BtnChiudi.Click
Me.Close()
End Sub
''' <summary>
''' PrintPage è l'evento di stampa. Questo evento viene generato per ogni
''' pagina che verrà stampata. È inoltre possibile gestire gli eventi BeginPrint ed EndPrint
''' per ottenere un maggiore controllo.
''' </summary>
Private Sub pdoc_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
'Coordinate della stampa dell'immagine.
Dim margineSuperiore As Integer = CInt(NumericUpDown1.Value)
Dim margineSinistro As Integer = CInt(NumericUpDown2.Value)
Dim larghezza As Integer = CInt(NumericUpDown3.Value)
Dim altezza As Integer = CInt(NumericUpDown4.Value)
'Se voglio rappresentare l'immagine della PictureBox della Forms di stampa (immagine inserita manualmente nella PictureBox1).
'uso la seguente riga di codice.
' e.Graphics.DrawImage(PictureBox1.Image, margineSinistro, margineSuperiore, larghezza, altezza)
'Se voglio rappresentare un'immagine presa in una determinata cartella uso la seguente riga di codice.
' e.Graphics.DrawImage(Image.FromFile("Qui va inserito il percorso della cartella dove si trova l'immagine"), margineSinistro, margineSuperiore, larghezza, altezza)
' Io per comodità, ho aggiunto una cartella e ci ho messo dentro una immagine e quindi gli ho dato il mio percorso che devi cambiare secondo le tue esigenze.
e.Graphics.DrawImage(Image.FromFile("E:\EsempioStampa\EsempioStampa\Immagini\Castello.jpg"), margineSinistro, margineSuperiore, larghezza, altezza)
End Sub
End Class
Cosi deve funzionare per forza. Comunque prova e poi fammi sapere. spero di esserti stato d'aiuto.
Ciao. Peppino.
e444
Profilo
| Newbie
9
messaggi | Data Invio:
mer 29 nov 2017 - 00:05
Grazie Peppino... con solo una stringa ho risolto il mio problema.
e.Graphics.DrawImage(My.Resources.immagine2, 30, 30, 50, 50)
Peppino
Profilo
| Junior Member
193
messaggi | Data Invio:
mer 29 nov 2017 - 09:00
OK. Se in qualche modo sono stato di aiuto clicca su accetta cosi viene chiuso il post.
Ciao. Peppino.
e444
Profilo
| Newbie
9
messaggi | Data Invio:
mer 29 nov 2017 - 11:50
Ok, fatto e grazie ancora.
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 !