Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB .NET]salvare label come immagine
Forum - C# / VB.NET - [VB .NET]salvare label come immagine

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Rikisonny (Ex-Member)
Rookie


Messaggi: 59
Iscritto: 07/11/2007

Segnala al moderatore
Postato alle 23:53
Lunedì, 01/02/2010
avrei bisogno di catturare una immagine di un label in vb .net per riprodurla su un picturebox... cioè io scrivo qualcosa in un textbox che poi premendo un pulsante viene modificata la scritta e mandata al label modificata ma ora vorrei che il contenuto del label fosse salvato sotto forma di immagine... è possibile??

Ultima modifica effettuata da Rikisonny il 01/02/2010 alle 23:54
PM Quote
Avatar
Gianluca87 (Ex-Member)
Expert


Messaggi: 300
Iscritto: 16/11/2008

Segnala al moderatore
Postato alle 23:01
Martedì, 02/02/2010
certo...ma prelevando solo il testo e incollandolo dentro l'immagine che crei...

Codice sorgente - presumibilmente C# / VB.NET

  1. Bitmap myBitmap = new Bitmap(100, 100);
  2.             Graphics g = Graphics.FromImage(myBitmap);
  3.             g.DrawString("TESTO DA INSERIRE", new Font("Tahoma", 10), Brushes.Black, new PointF(0, 0));
  4.             pictureBox1.Image = myBitmap;


PM Quote
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 11:22
Mercoledì, 03/02/2010
Dato che l'hai chiuesto in VB.NET (come da titolo) eccolo:

Codice sorgente - presumibilmente VB.NET

  1. Dim myBitmap As New Bitmap(100, 100)
  2. Dim g As Graphics = Graphics.FromImage(myBitmap)
  3. g.DrawString("TESTO DA INSERIRE", New Font("Tahoma", 10), Brushes.Black, New PointF(0, 0))
  4. pictureBox1.Image = myBitmap


PM Quote
Avatar
Rikisonny (Ex-Member)
Rookie


Messaggi: 59
Iscritto: 07/11/2007

Segnala al moderatore
Postato alle 14:29
Mercoledì, 03/02/2010
Grazie mille il codice funziona... anzichè "testo da inserire" ho messo label1.text visto che vorrei che il label apparisse nella picturebox... l'unico problema è che il label varia in base a un textbox infatti se nella textbox cè una scritta il label appare o in grassetto o in corsivo o con un font o con un altro ma in questo modo il font è sempre lo stesso.. come faccio ad impostare font e tutto dal label?? rendere proprio il label in sè come immagine?? con sfondo colori e tutto?

PM Quote
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 15:47
Mercoledì, 03/02/2010
questa richiesta è più problematica << prova con una serie di if tipo:

Codice sorgente - presumibilmente VB.NET

  1. If Label1.Font.Bold = True Then
  2.  g.DrawString("TESTO DA INSERIRE", New Font("Tahoma", 10, FontStyle.Bold), Brushes.Black, New PointF(0, 0))
  3. ElseIf Label1.Font.Italic = True Then
  4.  g.DrawString("TESTO DA INSERIRE", New Font("Tahoma", 10, FontStyle.Italic), Brushes.Black, New PointF(0, 0))
  5. End If



ma nn credo vadi <<

Ultima modifica effettuata da Iohoilpotere il 03/02/2010 alle 15:54
PM Quote
Avatar
Rikisonny (Ex-Member)
Rookie


Messaggi: 59
Iscritto: 07/11/2007

Segnala al moderatore
Postato alle 16:02
Mercoledì, 03/02/2010
da 2 errori..:
Errore    1    'FontStyle' è un tipo e non può essere utilizzato come espressione.
(penso di averlo risolto metto dim FontStyle as fontstyle
Errore    2    'fontstyle' non è un membro di 'System.Windows.Forms.Label'.

PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 19:35
Mercoledì, 03/02/2010
E fare una cattura dello schermo limitata alle coordinate della label?

PM Quote
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 19:45
Mercoledì, 03/02/2010
sarebbe una saggia scelta, se sapessi farlo l'avrei consigliato :D

PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 22:19
Mercoledì, 03/02/2010
Per provare mettere una PictureBox nella Form1

Codice sorgente - presumibilmente VB.NET

  1. Public Class Form1
  2.  
  3.     <System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")> _
  4.      Private Shared Function BitBlt(ByVal hdcDest As IntPtr, ByVal nXDest As Integer, ByVal nYDest As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hdcSrc As IntPtr, ByVal nXSrc As Integer, ByVal nYSrc As Integer, ByVal dwRop As
  5. System.Int32) As Boolean
  6.     End Function
  7.  
  8.     Public Sub Cattura(ByVal Fr As Form, ByVal Ctrl As Control)
  9.  
  10.         Me.Show()
  11.         Dim g1 As Graphics = Fr.CreateGraphics()
  12.         Dim MyImage As New Bitmap(Ctrl.Width, Ctrl.Height, g1)
  13.         Dim g2 As Graphics = Graphics.FromImage(MyImage)
  14.         Dim dc1 As IntPtr = g1.GetHdc()
  15.         Dim dc2 As IntPtr = g2.GetHdc()
  16.         BitBlt(dc2, 0, 0, Ctrl.Width, Ctrl.Height, dc1, Ctrl.Left, Ctrl.Top, 13369376)
  17.         g1.ReleaseHdc(dc1)
  18.         g2.ReleaseHdc(dc2)
  19.         PictureBox2.Image = MyImage
  20.         MyImage.Save("d:\Catturato.bmp", Imaging.ImageFormat.Bmp)
  21.  
  22.     End Sub
  23. End Class


Codice per richiamare la cattura:

Form1.Cattura(Me, Label1)

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo