Esempio n. 1
0
 // PixelManipulator をコピーする
 public PixelManipulator Clone(bool copyBytes = false)
 {
     PixelManipulator result = new PixelManipulator();
         result.width = width;
         result.height = height;
         result.stride = stride;
         result.pixelSize = pixelSize;
         result.bytes = new byte[bytes.Length];
         if (copyBytes)
         {
             Array.Copy(bytes, result.bytes, bytes.Length);
         }
         return result;
 }
Esempio n. 2
0
        // Bitmap オブジェクトから PixelManipulator を作成する
        public static PixelManipulator LoadBitmap(Bitmap bitmap)
        {
            if (bitmap == null)
                {
                    return null;
                }

                PixelManipulator result = new PixelManipulator();
                result.width = bitmap.Width;
                result.height = bitmap.Height;
                result.stride = _GetScanLineSize(bitmap, result.pixelFormat);
                result.pixelSize = Image.GetPixelFormatSize(result.pixelFormat) / 8;
                result.bytes = _GetPixels(bitmap, result.pixelFormat);
                return result;
        }