public ImageContext MakeBitmap() { BitmapImage myBitmapImage = new BitmapImage(); myBitmapImage.BeginInit(); myBitmapImage.UriSource = new Uri(@text1.Text); myBitmapImage.EndInit(); myImage.Source = myBitmapImage; ImageContext inSource = new ImageContext(myBitmapImage.PixelHeight, myBitmapImage.PixelWidth, myBitmapImage.Format); myBitmapImage.CopyPixels(inSource.PixelByteArray, inSource.NStride, 0); return inSource; }
public BitmapSource MakeGray(ImageContext inSource) { ImageContext outSource = inSource; byte middle; for (int i = 0; i < inSource.PixelByteArraySize; i += 4) { middle = (byte)((inSource.PixelByteArray[i + 1] + inSource.PixelByteArray[i + 2] + inSource.PixelByteArray[i + 3]) / 3); outSource.PixelByteArray[i] = outSource.PixelByteArray[i + 1] = outSource.PixelByteArray[i + 2] = middle; inSource.PixelByteArray[i + 3] = 0; } var bitmap = BitmapSource.Create(outSource.Width, outSource.Height, 96d, 96d, PixelFormats.Cmyk32, null, outSource.PixelByteArray, outSource.NStride); myImage.Source = bitmap; return bitmap; }