Mega Code Archive

 
Categories / C# / WPF
 

Modify Image Pixels

<Window x:Class="BitmapProgramming.ModifyPixels"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="BitmapProgramming" Height="300" Width="300">   <Image x:Name="imageElement" /> </Window> //File:Window.xaml.cs using System; using System.Collections.Generic; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace BitmapProgramming {     public partial class ModifyPixels : System.Windows.Window     {         public ModifyPixels()         {             InitializeComponent();             BitmapImage originalBmp = new BitmapImage();             originalBmp.BeginInit();             originalBmp.UriSource = new Uri("http://www.your host.com/a.jpeg");             originalBmp.DownloadCompleted += delegate{                 BitmapSource prgbaSource = new FormatConvertedBitmap(originalBmp,PixelFormats.Pbgra32, null, 0);                 WriteableBitmap bmp = new WriteableBitmap(prgbaSource);                 int w = 20;                 int h = 30;                 int[] pixelData = new int[w * h];                 int widthInBytes = 4 * w;                 bmp.CopyPixels(pixelData, widthInBytes, 0);                 for (int i = 0; i < pixelData.Length; ++i)                 {                     pixelData[i] ^= 0x00112233;                 }                 bmp.WritePixels(new Int32Rect(0, 0, w, h),pixelData, widthInBytes, 0);                 imageElement.Source = bmp;             };             originalBmp.EndInit();         }     } }