none
Cara menggunakan Lockbits RRS feed

  • Pertanyaan

  • Buat para master,.

    Bagaimana cara menggunakan Lockbits kalau tidak inputan bitmap?

    public static Bitmap myKernelImage(int[] kernelValue, int[] limitValue)
            {
                int countArr = 0;
                Bitmap myBmp = new Bitmap(64, 64);
    
                for (int j = 0; j < myBmp.Height; j++)
                    for (int i = 0; i < myBmp.Width; i++)
                    {
                        if (kernelValue[countArr] >= limitValue[countArr])
                            myBmp.SetPixel(i, j, Color.White);
                        else
                            myBmp.SetPixel(i, j, Color.Black);
                        countArr++;
                    }
                return myBmp;
            }

    Terima kasih sebelumnya!

    Senin, 23 Maret 2015 18.38

Jawaban

  • ini nanti outputnya jadi kek papan catur gitu ya?

    setau saya sih lockbit dipake untuk manipulasi bitmap array dari sebuah pixel, jadi kalo ga ada pixel yang mau dicompare coding diatas dibuat untuk apa? atau bagaimana sebenernya tujuannya?

    kalo cuma mau gambar kenapa ga pake DrawImage

    e.Graphics.DrawImage(bmp, 64, 64);

    atau tujuannya mau buat grayscale pake original image object?

    public static Bitmap MakeGrayscale3(Bitmap original)
    {
       //create a blank bitmap the same size as original
       Bitmap newBitmap = new Bitmap(original.Width, original.Height);
       //get a graphics object from the new image
       Graphics g = Graphics.FromImage(newBitmap);
       //create the grayscale ColorMatrix
       ColorMatrix colorMatrix = new ColorMatrix(
          new float[][]
          {
             new float[] {.3f, .3f, .3f, 0, 0},
             new float[] {.59f, .59f, .59f, 0, 0},
             new float[] {.11f, .11f, .11f, 0, 0},
             new float[] {0, 0, 0, 1, 0},
             new float[] {0, 0, 0, 0, 1}
          });
       //create some image attributes
       ImageAttributes attributes = new ImageAttributes();
       //set the color matrix attribute
       attributes.SetColorMatrix(colorMatrix);
       //draw the original image on the new image
       //using the grayscale color matrix
       g.DrawImage(original, new Rectangle(0, 0, original.Width, original.Height),
          0, 0, original.Width, original.Height, GraphicsUnit.Pixel, attributes);
       //dispose the Graphics object
       g.Dispose();
       return newBitmap;
    }
    

    Selasa, 24 Maret 2015 03.03