Bonjour,
j'espère que quelqu'un pourra m'aider. J'essaie de faire l'impression d'une image en y mettant du soulignement (bloc de couleur avec transparence) mais ça me donne une erreur de lecture ou d'écriture de mémoire protégée à l'impression.
Voici du code simplifié qui reproduit l'erreur:
private void PrintImage()
{
try
{
printDocument1.DocumentName = "Test";
printDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
printDocument1.Print();
}
catch (Exception e)
{
//Erreur de tentative de lecture ou d'écriture de mémoire protégée
}
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
if (!e.Cancel)
{
Image imageImpression = Bitmap.FromFile("d:\\temp\\img.gif"); //IMPRESSION 1
//Image imageImpression = new Bitmap(1096, 2200); //IMPRESSION 2
e.Graphics.DrawImage(imageImpression, 0, 0, 800, 1000);
//Surlignement
SolidBrush b = new SolidBrush(Color.FromArgb(110, Color.Yellow)); //BRUSH 1
//SolidBrush b = new SolidBrush(Color.Yellow); //BRUSH 2
e.Graphics.FillRectangle(b, 50, 50, 100, 100);
e.HasMorePages = false;
}
else
e.Cancel = true;
}
Si j'appelle la fonction PrintImage() ça cause l'errreur.
Si je mets en commentaire la ligne IMPRESSION 1 et que je remets la ligne IMPRESSION 2
OU
si je mets en commentaire la ligne BRUSH 1 et que je remets la ligne BRUSH 2
=
l'impression fonctionne
Merci de votre aide.
Guill