コード例 #1
0
ファイル: ImageHelper.cs プロジェクト: Conn/Balder
 public static byte[] Convert(ImageFormat destinationFormat, byte[] sourcePixels, ImageFormat sourceFormat)
 {
     if( destinationFormat.Depth == 32 && sourceFormat.Depth == 24 )
     {
         return ConvertFrom24BppTo32Bpp(sourcePixels, destinationFormat.PixelFormat, sourceFormat.PixelFormat);
     }
     return null;
 }
コード例 #2
0
		public static bool IsSupported(this ImageFormat[] formats, ImageFormat desiredFormat)
		{
			for( var formatIndex=0; formatIndex<formats.Length; formatIndex++ )
			{
				if( formats[formatIndex].Equals(desiredFormat) )
				{
					return true;
				}
			}
			return false;
		}
コード例 #3
0
		public static ImageFormat GetBestSuitedFormat(this ImageFormat[] formats, ImageFormat desiredFormat)
		{
			// Todo: Also look for PixelFormat - if there is a format that matches with both Depth and PixelFormat, choose this first.
			// Do a prioritizing of formats and depths - needs some thinking. :)
			for (var formatIndex = 0; formatIndex < formats.Length; formatIndex++)
			{
				if (formats[formatIndex].Depth >= desiredFormat.Depth)
				{
					return formats[formatIndex];
				}
			}

			return null;
		}
コード例 #4
0
ファイル: ImageContext.cs プロジェクト: petriw/Balder
        public void SetFrame(ImageFormat format, byte[] frameBytes, ImagePalette palette)
        {
            var targetFormat = ImageFormats.GetBestSuitedFormat(format);
            var canConvertFrom = ImageHelper.CanConvertFrom(format);
            if (null == targetFormat || !canConvertFrom )
            {
                throw new UnsupportedImageFormatException(format);
            }

            // Special case - no need to convert
            if( targetFormat.Equals(format))
            {
                SetFrame(frameBytes);
            } else
            {
                var convertedFrameBytes = ImageHelper.Convert(targetFormat, frameBytes, format);
                SetFrame(convertedFrameBytes);
            }
        }
コード例 #5
0
ファイル: ImageHelper.cs プロジェクト: Conn/Balder
 public static byte[] Convert(ImageFormat destinationFormat, byte[] sourcePixels, ImageFormat sourceFormat, ImagePalette palette)
 {
     throw new NotImplementedException();
 }
コード例 #6
0
ファイル: ImageHelper.cs プロジェクト: Conn/Balder
 public static bool CanConvertFrom(ImageFormat format)
 {
     return SupportedFromFormats.IsSupported(format);
 }
コード例 #7
0
ファイル: ImageContext.cs プロジェクト: petriw/Balder
 public void SetFrame(ImageFormat format, byte[] frameBytes)
 {
     SetFrame(format,frameBytes,null);
 }
コード例 #8
0
		public UnsupportedImageFormatException(ImageFormat format)
			: base("Unsupported ImageFormat ("+format.ToString()+")")
		{
		}
コード例 #9
0
		public UnsupportedImageFormatException(ImageFormat format, string message)
			: base("Unsupported ImageFormat (" + format.ToString() + ") - Message: "+message)
		{
		}
コード例 #10
0
		public void SetFrame(ImageFormat format, byte[] frameBytes, ImagePalette palette)
		{
		}
コード例 #11
0
		public void SetFrame(ImageFormat format, byte[] frameBytes)
		{
		}