Oprettet ons. d. 12. september 2012 kl. 13:17:50

C_B_K
C_B_K (1.570 point. Point ude: 0)

Udprintning af en transparent farve

Jeg har et ret irriterende problem, der er let at genskabe. Sagen er dem at jeg gerne vil printe et rektangel ud med en transparent farve. Jeg kan sagtens vise det rigtigt på skærmen, men når jeg printer det ud går det galt.

Jeg har lavet et meget simpelt lille testprojekt der viser problemet.

Det jeg i bund og grund gør er, at sætte hvor meget farven skal være transparent vha. Color.FromArgb(50, Color.Red);

Det virker som sagt perfekt når man ser det på skærmen, men går galt når man efterfølgende printer det ud.

Følgende burde kunne smides ind på en form og afvikles, man skal dog lige tilføje en knap til formen.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Printing;

namespace printingTransparent
{
    public partial class Form1 : Form
    {
        private PrintDocument m_PrintDocument;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            m_PrintDocument = new PrintDocument();
            m_PrintDocument.PrintPage += new PrintPageEventHandler(printDocument_PrintPage);
        }

        void printDocument_PrintPage(object sender, PrintPageEventArgs e)
        {
            DrawTransperantRect(e.Graphics);
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            DrawTransperantRect(e.Graphics);
        }

        private void DrawTransperantRect(Graphics g)
        {
            Color color = Color.FromArgb(50, Color.Red);
            SolidBrush sb = new SolidBrush(color);

            g.FillRectangle(sb, 10, 10, 200, 200);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            m_PrintDocument.Print();
        }

    }
}

Skrevet fre. d. 25. januar 2013 kl. 07:16:43| #1

C_B_K
C_B_K (1.570 point)
fandt en løsning selv...

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Mine float værdier mister '.' når jeg læser tal i dem

Oprettet den 23. maj 2013 kl. 22.56
CodingJoe giver 30 point for svar | Giv et svar »

Redigere appconfig settings fra web.config i runtime

Oprettet den 22. maj 2013 kl. 14.41
lasserasch giver 60 point for svar | Giv et svar »

Extension methods med constraint på interface

Oprettet den 18. maj 2013 kl. 19.26
CodingJoe giver 30 point for svar | Giv et svar »








Tips & Tricks fra PC World

Teaser billede

Fem smarte funktioner i din Mac som du sikkert ikke kender

Her har du fem muligheder for at tweake din Mac på en fed måde.


Anmeldelser fra PC World

Teaser billede

Test: Samsung Galaxy S4 er et hit - trods gøglertricks

Kan Samsung beholde førertrøjen i det store Android-race? Galaxy S4 er smækfyldt med innovative funktioner, men også med en del gøgl. Er det for meget? Få vores dom over Samsungs nye topmodel.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Ny opfindelse: Oplad din mobil på 20 sekunder

Måske er det snart slut med at lade mobilen op hver aften. Med ny opfindelse kan telefonen få fuld energi på sølle 20 sekunder.


Nyheder fra Computerworld

Teaser billede

Galleri: De 10 vildeste datacentre i verden

I en gammel kirke, i et oppusteligt telt, på nedlagte militæranlæg eller midt i ørkenen. Der er ingen grænser for, hvor man kan banke et datacenter op. Her er de 10 sejeste anlæg i verden. I...


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger