public ExtraImageModel(int id, ExtraImage extraImage, ImageSource imageSource) { Id = id; ExtraImage = extraImage; ImageSource = imageSource; Location = new Point(ExtraImage.X, ExtraImage.Y); Size = new Size(ExtraImage.Width, ExtraImage.Height); }
public BitmapSource LoadImageFromExtraImage(ExtraImage item, BitmapSource extraImage) { var image = new WriteableBitmap(item.Width, item.Height, 96, 96, PixelFormats.Pbgra32, null); var rect = new Int32Rect(item.X, item.Y, item.Width, item.Height); image.Lock(); extraImage.CopyPixels(rect, image.BackBuffer, image.BackBufferStride * image.PixelHeight, image.BackBufferStride); image.Unlock(); image.Freeze(); return image; }