begin process at 2012 02 13 23:43:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Multimédia

 > 

Image & Vidéo

 > 

ajouter un graphics dans un graphics


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ajouter un graphics dans un graphics

jeudi 9 avril 2009 à 17:49:06 | ajouter un graphics dans un graphics

dragon

Bonjour à tous, j'ai un petit problème
je suis en train de me créer un System.Drawing.Printing.PrintDocument qui gère parfaitement les sauts de page. Bon le concepte est déjà créé, mais j'ai un petit problème lors de l'impression.

je dois ajouter un object de type System.Drawing.Graphics dans un 2e System.Drawing.Graphics
genre: e.Graphics.DrawGraphics(myGraphics,0,0)

domage, mais DrawGraphics n'existe pas

d'après ce que j'ai lu sur internet, je dois convertir myGraphics en type bitmap et après utiliser drawImage, mais je reçoi toujours un bitmap vide ou un bitmap noir complètement.

Voici ma fonction que je me sert pour convertir un graphics en type Bitmap

Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC As IntPtr, ByVal x As Int32, ByVal y As Int32, ByVal nWidth As Int32, ByVal nHeight As Int32, ByVal hSrcDC As IntPtr, ByVal xSrc As Int32, ByVal ySrc As Int32, ByVal dwRop As Int32) As Int32
    Private Const SRCCOPY As Int32 = &HCC0020
    Public Function GetPictureOfGraphics(ByVal Width As Integer, ByVal Height As Integer, ByRef srcPic As Graphics) As Bitmap
        Dim srcBmp As New Bitmap(Width, Height, srcPic)
        Dim copyRect As Bitmap
        'Create a Graphics object in memory from that bitmap
        Dim srcMem As Graphics = Graphics.FromImage(srcBmp)
        'get the IntPtr's of the graphics
        Dim HDC1 As IntPtr = srcPic.GetHdc
        'get the IntPtr's of the graphics
        Dim HDC2 As IntPtr = srcMem.GetHdc
        'get the picture
        BitBlt(HDC2, 0, 0, Width, Height, HDC1, 0, 0, SRCCOPY)
        'Clean Up
        copyRect = srcBmp.Clone()
        srcPic.ReleaseHdc(HDC1)
        srcMem.ReleaseHdc(HDC2)
        srcPic.Dispose()
        srcMem.Dispose()
        Return copyRect
    End Function

et voici mon code qui call cette fonction

Private Sub PrintDocumentSofticket_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles Me.PrintPage
        Dim font As New System.Drawing.Font("Microsoft Sans Serif", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        For i As Integer = 1 To 20
            e.Graphics.DrawString("Paneau " & i, font, Brushes.Black, 0, 0)
            e.Graphics.DrawImage(Image.FromFile("C:\programmation2\Programmation\Softicket Develop\Build\Images\Softicket_Grand_Logo copie1.bmp"), 5, 16)
        Next i
        GetPictureOfGraphics(Me.PrinterSettings.DefaultPageSettings.PaperSize.Width, Me.PrinterSettings.DefaultPageSettings.PaperSize.Height, e.Graphics).Save("C:/testprint.png")
    End Sub

Ceci est seulement un test simple et qui ne fonctionne pas. Le fichier C:/testprint.png est toujours vide ou noir, comme mentionné plus haut

Quelqu'un peut m'aider SVP

-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------



Cette discussion est classée dans : system, int32, graphics, drawing, byval


Répondre à ce message

Sujets en rapport avec ce message

Graphics.fillpie n'apparait pas [ par Maxime31 ] BOnjour, je cherche a tester la classe Graphics pour creer des camemberts 2D simplesj'ai fait caPublicClass For Impression [ par scromania ] Bonjours à tous,J'ai un petit problème ,je cherche a imprimer tout de la listview alors qu'il y a un ascenceure et j'ai récuperer un code et lui fait System.Drawing.Graphics [ par ShayW ] Salut j'ai écrit une sub "draws" utilisant gra as System.Drawing.Graphics pour tracer des lignes sur la form j'ai placé un bouton click on it call Notification et Win32_ProcessStopTrace [ par JiP85 ] Bonjour, J'utilise VB2005 avec le Framework2 et je n'arrive pas à faire fonctionner la notification de fin de process avec WMI. Quelque soit l'évèneme problème imcompréhensible!!!! [ par thevbrocker ] Bon voilà mon problème j'ai créer un programme pour transférer des dossiers sur mon ordinateur à un disque du portatif, mais voilà il y a un lag...ma Naviguation ds une table avec bindingscontext [ par lima900 ] Bsr,voila j'ai une application avec ado.net language(vb.net) et jai un dataset ods et une base donnée ki contient 3 tables la table articles,vendeurs, Problème de boucle [ par thevbrocker ] Voici mon problème, j'ai conçu un petit programme qui me permet de transférer mes fichiers de mon ordinateur vers un disque dur externe. Exemple: Le ajout dans la base à partir de VB8 [ par fattoumtoutou ] bonjour j'ai un prob lors de l'ajout des données dans la base je travaille sur vb8 voici le code , il me génére une exeption(La propriété SelectCom record sound (micro+casque) conversation [ par hooyooo ] salut, j'ai essaie de faire une petite application qui record le son entre deux personne par exemple une conversation entre deux utilisateurs qui util Enregistrer valeurs compteur [ par vivacity45 ] Bonjour, je fait actuellement un compteur ( lorsque l'on clique sur "+" sa ajoute 1 au label et sur "-" sa retir 1) mais j'ai un probleme :s Je voudra


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales