LEADTOOLS(Leadtoolsアセンブリ)

フレームを表示

ColorResolutionCommandクラス








メンバ 
任意のピクセル当たりビットから任意のピクセル当たりビットに画像を変換します。
オブジェクトモデル
構文
public class ColorResolutionCommand : RasterCommand, IRasterCommand  
'Declaration
 
Public Class ColorResolutionCommand 
   Inherits RasterCommand
   Implements IRasterCommand 
'Usage
 
Dim instance As ColorResolutionCommand
public sealed class ColorResolutionCommand : IRasterCommand  
@interface LTColorResolutionCommand : LTRasterCommand
public class ColorResolutionCommand extends RasterCommand
function Leadtools.ImageProcessing.ColorResolutionCommand()
public ref class ColorResolutionCommand : public RasterCommand, IRasterCommand  
解説

このクラスは、出力デスティネーションを指定する際に、そして、使用にパレットを指定する際に柔軟性を提供します。

ディザ処理についての一般情報については、カラー解像度とディザ処理ディザ処理メソッドを参照します。

適所にimageを変換することができるか、新しい変換されたimageを作成することができます。

パレットを指定する際に、単純なパレットオプションを使うことができます、または、ニーズに調整されるパレットを指定することができます。カスタム化されたパレットは、任意のサイズに指定できます。それは、特定の色、予約の空の入り口とこのメソッドが最適化された色で塗りつぶす開いたエントリを含むことができます。

一度ならず同じ調整されたパレットを使うならば、RasterUserMatchTableを用いてテーブルを作成することによってパフォーマンスを改善することができます。

注意:変更するためにこのクラスを用いて、24ビットか32ビットimage(すなわちBGRへのRGB)のカラーオーダーは、描画するか、保存する(ファイルに)とき、imageに影響を及ぼしません。視覚の外観を変更したいならば、単にRasterImage.Orderプロパティを使用してカラーオーダーを入れ替えることができます。

32と64ビットイメージに変換するとき、InitAlphaプロパティを通して全0年代か1のものにアルファチャンネル値を初期化するべきかどうか制御することができます。

このクラスは、符合付きデータイメージをサポートしません。符合付きデータイメージがこのクラスに渡されるならば、例外はスローされます。

このクラスは、imageからアルファチャンネルを剥がすことをサポートします。

詳細については、「LEADTOOLSによる画像処理入門」を参照してください。

詳細については、「概要 ― パレット処理 ― 」を参照してください。

サンプル

このサンプルは、8と4ビット/ピクセルにそれを変換するために、imageの上でColorResolutionCommandを実行します。

Copy Code  
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing

      
Public Sub ColorResolutionCommandExample()
   Dim codecs As RasterCodecs = New RasterCodecs()
   Dim srcFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")
   Dim destFileName1 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_colorres8.bmp")
   Dim destFileName2 As String = Path.Combine(LEAD_VARS.ImagesDir, "Image1_colorres4.bmp")

   ' Load the source image from disk
   Dim image As RasterImage = codecs.Load(srcFileName)

   ' First color-res it to 8 bits per pixel  using the Netscape palette into a seperate image
   Dim cmd As ColorResolutionCommand = New ColorResolutionCommand()
   cmd.Mode = ColorResolutionCommandMode.CreateDestinationImage
   cmd.BitsPerPixel = 8
   cmd.Order = RasterByteOrder.Rgb
   cmd.DitheringMethod = RasterDitheringMethod.None
   cmd.PaletteFlags = ColorResolutionCommandPaletteFlags.UsePalette
   cmd.SetPalette(RasterPalette.Netscape())
   cmd.Run(image)

   Dim destImage As RasterImage = cmd.DestinationImage
   Debug.Assert(destImage.BitsPerPixel = 8)

   ' Save it to disk
   codecs.Save(destImage, destFileName1, RasterImageFormat.Bmp, 8)
   destImage.Dispose()

   ' Now color-res the image in-place to 4-bits per pixel using the Optimized palette
   cmd.Mode = ColorResolutionCommandMode.InPlace
   cmd.BitsPerPixel = 4
   cmd.Order = RasterByteOrder.Rgb
   cmd.DitheringMethod = RasterDitheringMethod.None
   cmd.PaletteFlags = ColorResolutionCommandPaletteFlags.Optimized
   cmd.Run(image)
   Debug.Assert(image.BitsPerPixel = 4)

   ' Save it to disk
   codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 4)
   destImage.Dispose()

   ' Clean Up
   image.Dispose()
End Sub

Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
public void ColorResolutionCommandExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = Path.Combine(ImagesPath.Path, "Image1.cmp");
   string destFileName1 = Path.Combine(ImagesPath.Path, "Image1_colorres8.bmp");
   string destFileName2 = Path.Combine(ImagesPath.Path, "Image1_colorres4.bmp");

   // Load the source image from disk
   RasterImage image = codecs.Load(srcFileName);

   // First color-res it to 8 bits per pixel  using the Netscape palette into a seperate image
   ColorResolutionCommand cmd = new ColorResolutionCommand();
   cmd.Mode = ColorResolutionCommandMode.CreateDestinationImage;
   cmd.BitsPerPixel = 8;
   cmd.Order = RasterByteOrder.Rgb;
   cmd.DitheringMethod = RasterDitheringMethod.None;
   cmd.PaletteFlags = ColorResolutionCommandPaletteFlags.UsePalette;
   cmd.SetPalette(RasterPalette.Netscape());
   cmd.Run(image);

   RasterImage destImage = cmd.DestinationImage;
   Assert.IsTrue(destImage.BitsPerPixel == 8);

   // Save it to disk
   codecs.Save(destImage, destFileName1, RasterImageFormat.Bmp, 8);
   destImage.Dispose();

   // Now color-res the image in-place to 4-bits per pixel using the Optimized palette
   cmd.Mode = ColorResolutionCommandMode.InPlace;
   cmd.BitsPerPixel = 4;
   cmd.Order = RasterByteOrder.Rgb;
   cmd.DitheringMethod = RasterDitheringMethod.None;
   cmd.PaletteFlags = ColorResolutionCommandPaletteFlags.Optimized;
   cmd.Run(image);
   Assert.IsTrue(image.BitsPerPixel == 4);

   // Save it to disk
   codecs.Save(image, destFileName2, RasterImageFormat.Bmp, 4);

   // Clean Up
   destImage.Dispose();
   image.Dispose();
   codecs.Dispose();
}
RasterCommandExamples.prototype.ColorResolutionCommandExample = function () {
    Tools.SetLicense();
    with (Leadtools) {
        with (Leadtools.Codecs) {
            with (Leadtools.ImageProcessing) {
                var codecs = new RasterCodecs();

                var srcFileName = "Assets\\Image1.cmp";
                var destFileName1 = "Image1_colorres8.bmp";
                var destFileName2 = "Image1_colorres4.bmp";
                var image;
                var destImage;
                var cmd;
                // Load the source image from disk
                return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) {
                    return codecs.loadAsync(LeadStreamFactory.create(loadFile))
                })
                    .then(function (img) {
                        image = img;
                        // First color-res it to 8 bits per pixel  using the Netscape palette into a seperate image
                        cmd = new ColorResolutionCommand();
                        cmd.mode = ColorResolutionCommandMode.createDestinationImage;
                        cmd.bitsPerPixel = 8;
                        cmd.order = RasterByteOrder.rgb;
                        cmd.ditheringMethod = RasterDitheringMethod.none;
                        cmd.paletteFlags = ColorResolutionCommandPaletteFlags.netscape;
                        cmd.run (image);

                        destImage = cmd.destinationImage;
                        console.assert(destImage.bitsPerPixel === 8, "destImage.bitsPerPixel === 8");

                        // Save it to disk
                        return Tools.AppLocalFolder().createFileAsync(destFileName1)
                    })
                        .then(function (saveFile) {
                            return codecs.saveAsync(image, LeadStreamFactory.create(saveFile), RasterImageFormat.bmp, 8)
                        })
                        .then(function () {
                            destImage.close();

                            // Now color-res the image in-place to 4-bits per pixel using the Optimized palette
                            cmd.mode = ColorResolutionCommandMode.inPlace;
                            cmd.bitsPerPixel = 4;
                            cmd.order = RasterByteOrder.rgb;
                            cmd.ditheringMethod = RasterDitheringMethod.none;
                            cmd.paletteFlags = ColorResolutionCommandPaletteFlags.optimized;
                            cmd.run(image);
                            console.assert(image.bitsPerPixel === 4, "image.bitsPerPixel === 4");

                            // Save it to disk
                            return Tools.AppLocalFolder().createFileAsync(destFileName2)
                        })
                        .then(function (saveFile) {
                            return codecs.saveAsync(image, LeadStreamFactory.create(saveFile), RasterImageFormat.bmp, 4)
                        })
                        .then(function () {
                            destImage.close();

                            // Clean Up
                            image.close();
                            codecs.close();
                        });
            }
        }
    }
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing;

      
public async Task ColorResolutionCommandExample()
{
   RasterCodecs codecs = new RasterCodecs();
   string srcFileName = @"Assets\Image1.cmp";
   string destFileName1 = @"Image1_colorres8.bmp";
   string destFileName2 = @"Image1_colorres4.bmp";

   // Load the source image from disk
   StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
   RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));

   // First color-res it to 8 bits per pixel  using the Netscape palette into a seperate image
   ColorResolutionCommand cmd = new ColorResolutionCommand();
   cmd.Mode = ColorResolutionCommandMode.CreateDestinationImage;
   cmd.BitsPerPixel = 8;
   cmd.Order = RasterByteOrder.Rgb;
   cmd.DitheringMethod = RasterDitheringMethod.None;
   cmd.PaletteFlags = ColorResolutionCommandPaletteFlags.Netscape;
   cmd.Run(image);

   RasterImage destImage = cmd.DestinationImage;
   Assert.IsTrue(destImage.BitsPerPixel == 8);

   // Save it to disk
   StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName1);
   await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 8);
   destImage.Dispose();

   // Now color-res the image in-place to 4-bits per pixel using the Optimized palette
   cmd.Mode = ColorResolutionCommandMode.InPlace;
   cmd.BitsPerPixel = 4;
   cmd.Order = RasterByteOrder.Rgb;
   cmd.DitheringMethod = RasterDitheringMethod.None;
   cmd.PaletteFlags = ColorResolutionCommandPaletteFlags.Optimized;
   cmd.Run(image);
   Assert.IsTrue(image.BitsPerPixel == 4);

   // Save it to disk
   saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName2);
   await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 4);
   destImage.Dispose();

   // Clean Up
   image.Dispose();
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Examples;
using Leadtools.ImageProcessing;
using Leadtools.Windows.Media;

public void ColorResolutionCommandExample(RasterImage image, Stream destStream8, Stream destStream4)
{
   RasterCodecs codecs = new RasterCodecs();
   // First color-res it to 8 bits per pixel  using the Netscape palette into a seperate image
   ColorResolutionCommand cmd = new ColorResolutionCommand();
   cmd.Mode = ColorResolutionCommandMode.CreateDestinationImage;
   cmd.BitsPerPixel = 8;
   cmd.Order = RasterByteOrder.Rgb;
   cmd.DitheringMethod = RasterDitheringMethod.None;
   cmd.PaletteFlags = ColorResolutionCommandPaletteFlags.UsePalette;
   cmd.SetPalette(RasterPalette.Netscape());
   cmd.Run(image);

   RasterImage destImage = cmd.DestinationImage;
   Debug.Assert(destImage.BitsPerPixel == 8);

   // Save it to disk
   codecs.Save(destImage, destStream8, RasterImageFormat.Bmp, 8);
   destImage.Dispose();

   // Now color-res the image in-place to 4-bits per pixel using the Optimized palette
   cmd.Mode = ColorResolutionCommandMode.InPlace;
   cmd.BitsPerPixel = 4;
   cmd.Order = RasterByteOrder.Rgb;
   cmd.DitheringMethod = RasterDitheringMethod.None;
   cmd.PaletteFlags = ColorResolutionCommandPaletteFlags.Optimized;
   cmd.Run(image);
   Debug.Assert(image.BitsPerPixel == 4);

   // Save it to disk
   codecs.Save(image, destStream4, RasterImageFormat.Bmp, 4);
   destImage.Dispose();

   // Clean Up
   image.Dispose();
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing
Imports Leadtools.Windows.Media

Public Sub ColorResolutionCommandExample(ByVal image As RasterImage, ByVal destStream8 As Stream, ByVal destStream4 As Stream)
   Dim codecs As RasterCodecs = New RasterCodecs()
   ' First color-res it to 8 bits per pixel  using the Netscape palette into a seperate image
   Dim cmd As ColorResolutionCommand = New ColorResolutionCommand()
   cmd.Mode = ColorResolutionCommandMode.CreateDestinationImage
   cmd.BitsPerPixel = 8
   cmd.Order = RasterByteOrder.Rgb
   cmd.DitheringMethod = RasterDitheringMethod.None
   cmd.PaletteFlags = ColorResolutionCommandPaletteFlags.UsePalette
   cmd.SetPalette(RasterPalette.Netscape())
   cmd.Run(image)

   Dim destImage As RasterImage = cmd.DestinationImage
   Debug.Assert(destImage.BitsPerPixel = 8)

   ' Save it to disk
   codecs.Save(destImage, destStream8, RasterImageFormat.Bmp, 8)
   destImage.Dispose()

   ' Now color-res the image in-place to 4-bits per pixel using the Optimized palette
   cmd.Mode = ColorResolutionCommandMode.InPlace
   cmd.BitsPerPixel = 4
   cmd.Order = RasterByteOrder.Rgb
   cmd.DitheringMethod = RasterDitheringMethod.None
   cmd.PaletteFlags = ColorResolutionCommandPaletteFlags.Optimized
   cmd.Run(image)
   Debug.Assert(image.BitsPerPixel = 4)

   ' Save it to disk
   codecs.Save(image, destStream4, RasterImageFormat.Bmp, 4)
   destImage.Dispose()

   ' Clean Up
   image.Dispose()
End Sub
必要条件

ターゲットプラットホーム

参照

参照

ColorResolutionCommandメンバ
Leadtools.ImageProcessing名前空間
LEADTOOLSによる画像処理入門
ディザ処理メソッド
Codecs.CodecsThumbnailOptions.DitheringMethodプロパティ
ImageProcessing.ColorResolutionCommand.DitheringMethodプロパティ
RasterDitheringMethod列挙体
RasterDefaults.DitheringMethodプロパティ
RasterImage.DitheringMethodプロパティ
RasterImage.DitherLineメソッド
RasterImage.StartDitheringメソッド
RasterImage.StopDitheringメソッド
RasterBufferConverter.Convert
変換