Avatar billede janemil Nybegynder
25. maj 2003 - 12:34 Der er 12 kommentarer og
1 løsning

Billede manipulering - sort/hvid

Link til artikel eller hjælp til at skifte et billede til sort/hvid.

Generelt vil jeg gerne have links til artikler om billede manipulation i c#

private void DisplayImage()
{
    int dimension = 600; // Set default dimension
    if( null != ConfigurationSettings.AppSettings[ Constants.IMAGE_DIMENSION ] )
    {
        dimension = Int32.Parse( ConfigurationSettings.AppSettings[ Constants.IMAGE_DIMENSION ] );
    }
    DisplayImage( dimension );
}


senere

thumbnail.Save( Response.OutputStream, image.RawFormat);
Avatar billede janemil Nybegynder
25. maj 2003 - 12:36 #1
Glemte lige den fætter der laver det sjove

private void DisplayImage( int maxDimension )
{
    string imagePath = MapPath( Album.AlbumImages[ AlbumIndex ][ PictureIndex ] );

    System.Drawing.Image image = new Bitmap( imagePath );
    System.Drawing.Image thumbnail;


    // Make pictures smaller but not larger.
    if( image.PhysicalDimension.Width < maxDimension &&
        image.PhysicalDimension.Height < maxDimension )
    {
        thumbnail = image;
    }
    else
    {
        // Aspect ratio logic provided by Bryce Jasmer.
        float aspect = image.PhysicalDimension.Width / image.PhysicalDimension.Height;
        if ( aspect <= 1.0 ) // Portrait
        {   
            Size newSize = new Size((int)(maxDimension * aspect),  maxDimension);
            thumbnail = new Bitmap(image, newSize);
        }
        else // Landscape
        {
            Size newSize = new Size(maxDimension, (int)(maxDimension / aspect));
            thumbnail = new Bitmap(image, newSize);
        }
    }
Avatar billede janemil Nybegynder
25. maj 2003 - 14:41 #2
http://www.aspalliance.com/chrisg/tools/view-grey.aspx.asp
Jeg prøver med ovenstående link, men der er tilsyneladen ikke
GetPixel
SetPixel
i c#
Avatar billede janemil Nybegynder
25. maj 2003 - 16:31 #3
Dette burde virke, men GetPixel og SetPixel fejler med 'System.Drawing.Image' does not contain a definition for 'GetPixel'

if (colorIndex == 1)
{
    for (int x = 0; x < image.Width; x++)
    {
        for (int y = 0; y < image.Height; y++)
        {
            Color c = image.GetPixel(x,y);
            int value = (c.R + c.G + c.B) / 3;
            image.SetPixel(x,y,
                Color.FromArgb(value, value, value));
        }
    }
    thumbnail = new Bitmap(image, newSize);
}
Avatar billede nielslbeck Nybegynder
25. maj 2003 - 16:55 #4
Lav billedet til et Bitmap med det samme... så har du SetPixel og GetPixel...
Avatar billede janemil Nybegynder
25. maj 2003 - 17:07 #5
Sådan - det fejler stadig?
thumbnail = new Bitmap(image, newSize);
for (int x = 0; x < thumbnail.Width; x++)
{
    for (int y = 0; y < thumbnail.Height; y++)
    {
        Color c = thumbnail.GetPixel(x,y);
        int value = (c.R + c.G + c.B) / 3;
        thumbnail.SetPixel(x,y,
        Color.FromArgb(value, value, value));
    }
}
Avatar billede nielslbeck Nybegynder
25. maj 2003 - 17:15 #6
Okay... hvad fejl får du nu? Nu kan det da vist ikke være noget med System.Drawing.Image...
Avatar billede nielslbeck Nybegynder
25. maj 2003 - 17:15 #7
Eller... okay, det kan det jo godt - hvis din thumbnail er af den type, prøv at lav den til en Bitmap i stedet for - så har du de to funktioner...
Avatar billede janemil Nybegynder
25. maj 2003 - 17:16 #8
Jo det er stadig

c:\inetpub\wwwroot\freelancefotograf\album\thumbnail.aspx.cs(111): 'System.Drawing.Image' does not contain a definition for 'GetPixel'

c:\inetpub\wwwroot\freelancefotograf\album\thumbnail.aspx.cs(113): 'System.Drawing.Image' does not contain a definition for 'SetPixel'
Avatar billede janemil Nybegynder
25. maj 2003 - 17:17 #9
Sikket dumt spørgsmål, men hvordan ville du lave den om til bitmap?
Avatar billede nielslbeck Nybegynder
25. maj 2003 - 17:17 #10
Bitmap thumbnail = new Bitmap(image, newSize)
Avatar billede janemil Nybegynder
25. maj 2003 - 17:52 #11
Lig lige et svar, så du kan få dine velfortjente points.
Avatar billede nielslbeck Nybegynder
25. maj 2003 - 18:10 #12
Hmm... ny synes jeg jo egentlig ikke jeg har svaret på det oprindelige spørgsmål... men okay :-)
Avatar billede janemil Nybegynder
25. maj 2003 - 18:17 #13
Der smuttede den Søndag.
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