C# 클래스 SimplePaletteQuantizer.Helpers.ImageBuffer

상속: IDisposable
파일 보기 프로젝트 열기: RHY3756547/FreeSO 1 사용 예제들

공개 메소드들

메소드 설명
CalculateImageMeanError ( Image sourceImage, Image targetImage, Int32 parallelTaskCount = 4 ) : Double
CalculateImageMeanError ( Image sourceImage, ImageBuffer target, Int32 parallelTaskCount = 4 ) : Double
CalculateImageMeanError ( ImageBuffer source, Image targetImage, Int32 parallelTaskCount = 4 ) : Double
CalculateImageMeanError ( ImageBuffer source, ImageBuffer target, Int32 parallelTaskCount = 4 ) : Double
CalculateImageNormalizedMeanError ( Image sourceImage, Image targetImage, Int32 parallelTaskCount = 4 ) : Double
CalculateImageNormalizedMeanError ( Image sourceImage, ImageBuffer target, Int32 parallelTaskCount = 4 ) : Double
CalculateImageNormalizedMeanError ( ImageBuffer source, Image targetImage, Int32 parallelTaskCount = 4 ) : Double
CalculateImageNormalizedMeanError ( ImageBuffer source, ImageBuffer target, Int32 parallelTaskCount = 4 ) : Double
CalculateMeanError ( ImageBuffer target, Int32 parallelTaskCount = 4 ) : Double
CalculateNormalizedMeanError ( ImageBuffer target, Int32 parallelTaskCount = 4 ) : Double
ChangeFormat ( Image sourceImage, PixelFormat targetFormat, IColorQuantizer quantizer, Image &targetImage, Int32 parallelTaskCount = 4 ) : void
ChangeFormat ( ImageBuffer target, IColorQuantizer quantizer, Int32 parallelTaskCount = 4 ) : void
ChangeFormat ( ImageBuffer source, PixelFormat targetFormat, IColorQuantizer quantizer, Image &targetImage, Int32 parallelTaskCount = 4 ) : void
Clamp ( Int32 value, Int32 minimum, Int32 maximum = 255 ) : Int32
Copy ( ) : Byte[]
CorrectGamma ( System.Single gamma, IColorQuantizer quantizer, Int32 parallelTaskCount = 4 ) : void
CorrectImageGamma ( Image sourceImage, System.Single gamma, IColorQuantizer quantizer, Int32 parallelTaskCount = 4 ) : void
Dispose ( ) : void
Dither ( ImageBuffer target, IColorDitherer ditherer, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
DitherImage ( Image sourceImage, Image targetImage, IColorDitherer ditherer, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
DitherImage ( Image sourceImage, ImageBuffer target, IColorDitherer ditherer, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
DitherImage ( ImageBuffer source, Image targetImage, IColorDitherer ditherer, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
DitherImage ( ImageBuffer source, ImageBuffer target, IColorDitherer ditherer, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
GetBitOffset ( Int32 x ) : Int32
GetColorFromPixel ( Pixel pixel ) : Color
GetIndexFromPixel ( Pixel pixel ) : Int32
GetPaletteColor ( Int32 paletteIndex ) : Color
ImageBuffer ( Bitmap bitmap, ImageLockMode lockMode ) : System

Initializes a new instance of the ImageBuffer class.

ImageBuffer ( Image bitmap, ImageLockMode lockMode ) : System

Initializes a new instance of the ImageBuffer class.

Paste ( Byte buffer ) : void
ProcessPerPixel ( IList path, ProcessPixelFunction processPixelFunction, Int32 parallelTaskCount = 4 ) : void
ProcessPerPixelAdvanced ( IList path, ProcessPixelAdvancedFunction processPixelAdvancedFunction, Int32 parallelTaskCount = 4 ) : void
Quantize ( ImageBuffer target, IColorQuantizer quantizer, IColorDitherer ditherer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
Quantize ( ImageBuffer target, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
QuantizeImage ( Image sourceImage, IColorQuantizer quantizer, IColorDitherer ditherer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : Image
QuantizeImage ( Image sourceImage, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : Image
QuantizeImage ( ImageBuffer source, IColorQuantizer quantizer, IColorDitherer ditherer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : Image
QuantizeImage ( ImageBuffer source, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : Image
ReadColorUsingPixel ( Pixel pixel, Byte buffer = null ) : Color
ReadColorUsingPixelFrom ( Pixel pixel, Int32 x, Int32 y, Byte buffer = null ) : Color
ReadIndexUsingPixel ( Pixel pixel, Byte buffer = null ) : Int32
ReadIndexUsingPixelFrom ( Pixel pixel, Int32 x, Int32 y, Byte buffer = null ) : Int32
ReadPixel ( Pixel pixel, Byte buffer = null ) : void
ScanColors ( IColorQuantizer quantizer, Int32 parallelTaskCount = 4 ) : void
ScanImageColors ( Image sourceImage, IColorQuantizer quantizer, Int32 parallelTaskCount = 4 ) : void
SetColorToPixel ( Pixel pixel, Color color, IColorQuantizer quantizer ) : void
SetIndexToPixel ( Pixel pixel, Int32 index, Byte buffer = null ) : void
SynthetizeImagePalette ( Image sourceImage, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : List
SynthetizePalette ( IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : List
TransformPerPixel ( ImageBuffer target, IList path, TransformPixelFunction transformPixelFunction, Int32 parallelTaskCount = 4 ) : void
TransformPerPixelAdvanced ( ImageBuffer target, IList path, TransformPixelAdvancedFunction transformPixelAdvancedFunction, Int32 parallelTaskCount = 4 ) : void
WriteColorUsingPixel ( Pixel pixel, Color color, IColorQuantizer quantizer, Byte buffer = null ) : void
WriteColorUsingPixelAt ( Pixel pixel, Int32 x, Int32 y, Color color, IColorQuantizer quantizer, Byte buffer = null ) : void
WriteIndexUsingPixel ( Pixel pixel, Int32 index, Byte buffer = null ) : void
WriteIndexUsingPixelAt ( Pixel pixel, Int32 x, Int32 y, Int32 index, Byte buffer = null ) : void

비공개 메소드들

메소드 설명
Precalculate ( ) : void
ProcessInParallel ( ICollection path, Action process, Int32 parallelTaskCount = 4 ) : void
ProcessPerPixelBase ( IList path, Delegate processingAction, Int32 parallelTaskCount = 4 ) : void
TransformPerPixelBase ( ImageBuffer target, IList path, Delegate transformAction, Int32 parallelTaskCount = 4 ) : void
UpdatePalette ( System.Boolean forceUpdate = false ) : List
WritePixel ( Pixel pixel, Byte buffer = null ) : void

메소드 상세

CalculateImageMeanError() 공개 정적인 메소드

public static CalculateImageMeanError ( Image sourceImage, Image targetImage, Int32 parallelTaskCount = 4 ) : Double
sourceImage Image
targetImage Image
parallelTaskCount System.Int32
리턴 Double

CalculateImageMeanError() 공개 정적인 메소드

public static CalculateImageMeanError ( Image sourceImage, ImageBuffer target, Int32 parallelTaskCount = 4 ) : Double
sourceImage Image
target ImageBuffer
parallelTaskCount System.Int32
리턴 Double

CalculateImageMeanError() 공개 정적인 메소드

public static CalculateImageMeanError ( ImageBuffer source, Image targetImage, Int32 parallelTaskCount = 4 ) : Double
source ImageBuffer
targetImage Image
parallelTaskCount System.Int32
리턴 Double

CalculateImageMeanError() 공개 정적인 메소드

public static CalculateImageMeanError ( ImageBuffer source, ImageBuffer target, Int32 parallelTaskCount = 4 ) : Double
source ImageBuffer
target ImageBuffer
parallelTaskCount System.Int32
리턴 Double

CalculateImageNormalizedMeanError() 공개 정적인 메소드

public static CalculateImageNormalizedMeanError ( Image sourceImage, Image targetImage, Int32 parallelTaskCount = 4 ) : Double
sourceImage Image
targetImage Image
parallelTaskCount System.Int32
리턴 Double

CalculateImageNormalizedMeanError() 공개 정적인 메소드

public static CalculateImageNormalizedMeanError ( Image sourceImage, ImageBuffer target, Int32 parallelTaskCount = 4 ) : Double
sourceImage Image
target ImageBuffer
parallelTaskCount System.Int32
리턴 Double

CalculateImageNormalizedMeanError() 공개 정적인 메소드

public static CalculateImageNormalizedMeanError ( ImageBuffer source, Image targetImage, Int32 parallelTaskCount = 4 ) : Double
source ImageBuffer
targetImage Image
parallelTaskCount System.Int32
리턴 Double

CalculateImageNormalizedMeanError() 공개 정적인 메소드

public static CalculateImageNormalizedMeanError ( ImageBuffer source, ImageBuffer target, Int32 parallelTaskCount = 4 ) : Double
source ImageBuffer
target ImageBuffer
parallelTaskCount System.Int32
리턴 Double

CalculateMeanError() 공개 메소드

public CalculateMeanError ( ImageBuffer target, Int32 parallelTaskCount = 4 ) : Double
target ImageBuffer
parallelTaskCount System.Int32
리턴 Double

CalculateNormalizedMeanError() 공개 메소드

public CalculateNormalizedMeanError ( ImageBuffer target, Int32 parallelTaskCount = 4 ) : Double
target ImageBuffer
parallelTaskCount System.Int32
리턴 Double

ChangeFormat() 공개 정적인 메소드

public static ChangeFormat ( Image sourceImage, PixelFormat targetFormat, IColorQuantizer quantizer, Image &targetImage, Int32 parallelTaskCount = 4 ) : void
sourceImage Image
targetFormat PixelFormat
quantizer IColorQuantizer
targetImage Image
parallelTaskCount System.Int32
리턴 void

ChangeFormat() 공개 메소드

public ChangeFormat ( ImageBuffer target, IColorQuantizer quantizer, Int32 parallelTaskCount = 4 ) : void
target ImageBuffer
quantizer IColorQuantizer
parallelTaskCount System.Int32
리턴 void

ChangeFormat() 공개 정적인 메소드

public static ChangeFormat ( ImageBuffer source, PixelFormat targetFormat, IColorQuantizer quantizer, Image &targetImage, Int32 parallelTaskCount = 4 ) : void
source ImageBuffer
targetFormat PixelFormat
quantizer IColorQuantizer
targetImage Image
parallelTaskCount System.Int32
리턴 void

Clamp() 공개 정적인 메소드

public static Clamp ( Int32 value, Int32 minimum, Int32 maximum = 255 ) : Int32
value System.Int32
minimum System.Int32
maximum System.Int32
리턴 System.Int32

Copy() 공개 메소드

public Copy ( ) : Byte[]
리턴 Byte[]

CorrectGamma() 공개 메소드

public CorrectGamma ( System.Single gamma, IColorQuantizer quantizer, Int32 parallelTaskCount = 4 ) : void
gamma System.Single
quantizer IColorQuantizer
parallelTaskCount System.Int32
리턴 void

CorrectImageGamma() 공개 정적인 메소드

public static CorrectImageGamma ( Image sourceImage, System.Single gamma, IColorQuantizer quantizer, Int32 parallelTaskCount = 4 ) : void
sourceImage Image
gamma System.Single
quantizer IColorQuantizer
parallelTaskCount System.Int32
리턴 void

Dispose() 공개 메소드

public Dispose ( ) : void
리턴 void

Dither() 공개 메소드

public Dither ( ImageBuffer target, IColorDitherer ditherer, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
target ImageBuffer
ditherer IColorDitherer
quantizer IColorQuantizer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 void

DitherImage() 공개 정적인 메소드

public static DitherImage ( Image sourceImage, Image targetImage, IColorDitherer ditherer, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
sourceImage Image
targetImage Image
ditherer IColorDitherer
quantizer IColorQuantizer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 void

DitherImage() 공개 정적인 메소드

public static DitherImage ( Image sourceImage, ImageBuffer target, IColorDitherer ditherer, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
sourceImage Image
target ImageBuffer
ditherer IColorDitherer
quantizer IColorQuantizer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 void

DitherImage() 공개 정적인 메소드

public static DitherImage ( ImageBuffer source, Image targetImage, IColorDitherer ditherer, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
source ImageBuffer
targetImage Image
ditherer IColorDitherer
quantizer IColorQuantizer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 void

DitherImage() 공개 정적인 메소드

public static DitherImage ( ImageBuffer source, ImageBuffer target, IColorDitherer ditherer, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
source ImageBuffer
target ImageBuffer
ditherer IColorDitherer
quantizer IColorQuantizer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 void

GetBitOffset() 공개 메소드

public GetBitOffset ( Int32 x ) : Int32
x System.Int32
리턴 System.Int32

GetColorFromPixel() 공개 메소드

public GetColorFromPixel ( Pixel pixel ) : Color
pixel Pixel
리턴 Color

GetIndexFromPixel() 공개 메소드

public GetIndexFromPixel ( Pixel pixel ) : Int32
pixel Pixel
리턴 System.Int32

GetPaletteColor() 공개 메소드

public GetPaletteColor ( Int32 paletteIndex ) : Color
paletteIndex System.Int32
리턴 Color

ImageBuffer() 공개 메소드

Initializes a new instance of the ImageBuffer class.
public ImageBuffer ( Bitmap bitmap, ImageLockMode lockMode ) : System
bitmap System.Drawing.Bitmap
lockMode ImageLockMode
리턴 System

ImageBuffer() 공개 메소드

Initializes a new instance of the ImageBuffer class.
public ImageBuffer ( Image bitmap, ImageLockMode lockMode ) : System
bitmap Image
lockMode ImageLockMode
리턴 System

Paste() 공개 메소드

public Paste ( Byte buffer ) : void
buffer Byte
리턴 void

ProcessPerPixel() 공개 메소드

public ProcessPerPixel ( IList path, ProcessPixelFunction processPixelFunction, Int32 parallelTaskCount = 4 ) : void
path IList
processPixelFunction ProcessPixelFunction
parallelTaskCount System.Int32
리턴 void

ProcessPerPixelAdvanced() 공개 메소드

public ProcessPerPixelAdvanced ( IList path, ProcessPixelAdvancedFunction processPixelAdvancedFunction, Int32 parallelTaskCount = 4 ) : void
path IList
processPixelAdvancedFunction ProcessPixelAdvancedFunction
parallelTaskCount System.Int32
리턴 void

Quantize() 공개 메소드

public Quantize ( ImageBuffer target, IColorQuantizer quantizer, IColorDitherer ditherer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
target ImageBuffer
quantizer IColorQuantizer
ditherer IColorDitherer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 void

Quantize() 공개 메소드

public Quantize ( ImageBuffer target, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : void
target ImageBuffer
quantizer IColorQuantizer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 void

QuantizeImage() 공개 정적인 메소드

public static QuantizeImage ( Image sourceImage, IColorQuantizer quantizer, IColorDitherer ditherer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : Image
sourceImage Image
quantizer IColorQuantizer
ditherer IColorDitherer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 Image

QuantizeImage() 공개 정적인 메소드

public static QuantizeImage ( Image sourceImage, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : Image
sourceImage Image
quantizer IColorQuantizer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 Image

QuantizeImage() 공개 정적인 메소드

public static QuantizeImage ( ImageBuffer source, IColorQuantizer quantizer, IColorDitherer ditherer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : Image
source ImageBuffer
quantizer IColorQuantizer
ditherer IColorDitherer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 Image

QuantizeImage() 공개 정적인 메소드

public static QuantizeImage ( ImageBuffer source, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : Image
source ImageBuffer
quantizer IColorQuantizer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 Image

ReadColorUsingPixel() 공개 메소드

public ReadColorUsingPixel ( Pixel pixel, Byte buffer = null ) : Color
pixel Pixel
buffer Byte
리턴 Color

ReadColorUsingPixelFrom() 공개 메소드

public ReadColorUsingPixelFrom ( Pixel pixel, Int32 x, Int32 y, Byte buffer = null ) : Color
pixel Pixel
x System.Int32
y System.Int32
buffer Byte
리턴 Color

ReadIndexUsingPixel() 공개 메소드

public ReadIndexUsingPixel ( Pixel pixel, Byte buffer = null ) : Int32
pixel Pixel
buffer Byte
리턴 System.Int32

ReadIndexUsingPixelFrom() 공개 메소드

public ReadIndexUsingPixelFrom ( Pixel pixel, Int32 x, Int32 y, Byte buffer = null ) : Int32
pixel Pixel
x System.Int32
y System.Int32
buffer Byte
리턴 System.Int32

ReadPixel() 공개 메소드

public ReadPixel ( Pixel pixel, Byte buffer = null ) : void
pixel Pixel
buffer Byte
리턴 void

ScanColors() 공개 메소드

public ScanColors ( IColorQuantizer quantizer, Int32 parallelTaskCount = 4 ) : void
quantizer IColorQuantizer
parallelTaskCount System.Int32
리턴 void

ScanImageColors() 공개 정적인 메소드

public static ScanImageColors ( Image sourceImage, IColorQuantizer quantizer, Int32 parallelTaskCount = 4 ) : void
sourceImage Image
quantizer IColorQuantizer
parallelTaskCount System.Int32
리턴 void

SetColorToPixel() 공개 메소드

public SetColorToPixel ( Pixel pixel, Color color, IColorQuantizer quantizer ) : void
pixel Pixel
color Color
quantizer IColorQuantizer
리턴 void

SetIndexToPixel() 공개 메소드

public SetIndexToPixel ( Pixel pixel, Int32 index, Byte buffer = null ) : void
pixel Pixel
index System.Int32
buffer Byte
리턴 void

SynthetizeImagePalette() 공개 정적인 메소드

public static SynthetizeImagePalette ( Image sourceImage, IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : List
sourceImage Image
quantizer IColorQuantizer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 List

SynthetizePalette() 공개 메소드

public SynthetizePalette ( IColorQuantizer quantizer, Int32 colorCount, Int32 parallelTaskCount = 4 ) : List
quantizer IColorQuantizer
colorCount System.Int32
parallelTaskCount System.Int32
리턴 List

TransformPerPixel() 공개 메소드

public TransformPerPixel ( ImageBuffer target, IList path, TransformPixelFunction transformPixelFunction, Int32 parallelTaskCount = 4 ) : void
target ImageBuffer
path IList
transformPixelFunction TransformPixelFunction
parallelTaskCount System.Int32
리턴 void

TransformPerPixelAdvanced() 공개 메소드

public TransformPerPixelAdvanced ( ImageBuffer target, IList path, TransformPixelAdvancedFunction transformPixelAdvancedFunction, Int32 parallelTaskCount = 4 ) : void
target ImageBuffer
path IList
transformPixelAdvancedFunction TransformPixelAdvancedFunction
parallelTaskCount System.Int32
리턴 void

WriteColorUsingPixel() 공개 메소드

public WriteColorUsingPixel ( Pixel pixel, Color color, IColorQuantizer quantizer, Byte buffer = null ) : void
pixel Pixel
color Color
quantizer IColorQuantizer
buffer Byte
리턴 void

WriteColorUsingPixelAt() 공개 메소드

public WriteColorUsingPixelAt ( Pixel pixel, Int32 x, Int32 y, Color color, IColorQuantizer quantizer, Byte buffer = null ) : void
pixel Pixel
x System.Int32
y System.Int32
color Color
quantizer IColorQuantizer
buffer Byte
리턴 void

WriteIndexUsingPixel() 공개 메소드

public WriteIndexUsingPixel ( Pixel pixel, Int32 index, Byte buffer = null ) : void
pixel Pixel
index System.Int32
buffer Byte
리턴 void

WriteIndexUsingPixelAt() 공개 메소드

public WriteIndexUsingPixelAt ( Pixel pixel, Int32 x, Int32 y, Int32 index, Byte buffer = null ) : void
pixel Pixel
x System.Int32
y System.Int32
index System.Int32
buffer Byte
리턴 void