Avatar billede ahara Nybegynder
06. juni 2005 - 11:51 Der er 4 kommentarer og
1 løsning

Tegne i et billede i en pictureBox

Hej

Hvis jeg har to billeder et med farver og et der bare er hvidt (tomt), hvordan kan jeg så tegne det der er i det ene billede (det med farve) i det andet billede (det tomme)?

Med nedenstående kode mangler jeg en testbillede2.DrawImage();

Kan i hjælpe mig med lidt kode til hvordan jeg kan gøre det?

Tak
AHR



private void button1_Click(object sender, System.EventArgs e)
{
    Bitmap testbillede1 = new Bitmap("tom1.jpg");           
    pictureBox1.Image = Image.FromFile("tom1.jpg");

    Bitmap testbillede2 = new Bitmap("tom.jpg");           
    pictureBox2.Image = Image.FromFile("tom.jpg");
           
    int w1 = testbillede1.Width;
    int h1 = testbillede1.Height;

    for(int i=1; i<w1; i++)
    {
        for(int j=1;j<h1;j++)
        {
            Color pixelColor1 = testbillede1.GetPixel(i,j);
            testbillede2.SetPixel(i,j,pixelColor1);
        }
          }
}
Avatar billede burningice Nybegynder
06. juni 2005 - 16:24 #1
Du skal have lavet et Graphics-object som indkapsler al tegne-logikken i GDI+:

    Bitmap testbillede1 = new Bitmap("tom1.jpg");         
    pictureBox1.Image = testbillede1;

    Bitmap testbillede2 = new Bitmap("tom.jpg");         
    Graphics g2 = Graphics.FromImage(testbillede2);

    g.DrawImage(testbillede1, 0, 0, testbillede1.Width, testbillede1.Height);
   
    pictureBox2.Image = testbillede2;
Avatar billede ahara Nybegynder
06. juni 2005 - 18:32 #2
Tak, men hvis jeg vil tage pixel 0,0 i mit oprindelige billede og tegne på plads 0,0 i det "tomme" billede. Hvad gør jeg så?
Det du skriver tegner jeg hele billedet på en gang ikk?

Kan man ikke bruge setPixel() ligesom jeg henter farven på en pixel med getPixel()?

Tak
AHR
Avatar billede nielle Nybegynder
06. juni 2005 - 19:46 #3
private void button1_Click(object sender, System.EventArgs e)
{
    Bitmap testbillede1 = new Bitmap("tom1.jpg");
    pictureBox1.Image = testbillede1;

    Bitmap testbillede2 = new Bitmap("tom.jpg");
    pictureBox2.Image = testbillede2;

    for (int i=0; i<testbillede1.Width; i++)
    {
        for (int j=0; j<testbillede1.Height; j++)
        {
            Color pixelColor1 = testbillede1.GetPixel(i, j);
            testbillede2.SetPixel(i, j, pixelColor1);

            pictureBox2.Refresh();
        }
    }
}
Avatar billede ahara Nybegynder
06. juni 2005 - 20:18 #4
og et svar så er der point - det hjalp :o)
Avatar billede nielle Nybegynder
06. juni 2005 - 20:30 #5
Svar :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester