WriteableBitmapExtensions

StockSharp.Xaml.Charting.Rendering.HighSpeedRasterizer.WBX

Colecção de métodos de extensão de desenho para a classe Silverlight WriteableBitmap.

Métodos

AlphaBlend
public static int AlphaBlend(int sa, int sr, int sg, int sb, int destPixel)
result = WriteableBitmapExtensions.AlphaBlend(sa, sr, sg, sb, destPixel)

Alpha mistura 2 cores pré-multiplicadas entre si

sa
Componente de cores alfa de origem
sr
Componente de cor vermelha de origem pré-multiplicada
sg
Componente de cor verde de origem pré-multiplicada
sb
Componente de cor azul fonte pré-multiplicado
destPixel
Cor de destino pré-multiplicada

Retorna: Valor de cor pré-multiplicado misturado

AlphaBlendNormalOnPremultiplied
private static void AlphaBlendNormalOnPremultiplied(Int32* pixels, int index, int sa, uint srb, uint sg)
WriteableBitmapExtensions.AlphaBlendNormalOnPremultiplied(pixels, index, sa, srb, sg)

Mistura uma cor de origem específica em cima de uma cor pré-multiplicada de destino

pixels
Array de pixels
index
Índice de pixel de destino
sa
Fonte alfa (0.. 255)
srb
Componente vermelho e azul não pré-multiplicado fonte no formato 0x00rr00bb
sg
Componente verde-fonte (0..255)
Blit
internal static void Blit(WriteableBitmap bmp, Rect destRect, WriteableBitmap source, Rect sourceRect, Color color, BlendMode BlendMode)
WriteableBitmapExtensions.Blit(bmp, destRect, source, sourceRect, color, BlendMode)

Cópias (blits) dos pixels da WriteableBitmap fonte para o destino WriteableBitmap (isto).

bmp
O destino WriteableBitmap.
destRect
O retângulo que define a região de destino.
source
A fonte WriteableBitmap.
sourceRect
O retângulo que será copiado da fonte para o destino.
color
Se não Colors.White, irá pintar a imagem de origem. Uma cor parcialmente transparente e a imagem será desenhada parcialmente transparente. Se o BlendMode for ColorKeying, esta cor será usada como chave de cor para mascarar todos os pixels com este valor.
BlendMode
O modo de mistura BlendMode.
Blit
internal static void Blit(WriteableBitmap bmp, Point destPosition, WriteableBitmap source, Rect sourceRect, Color color, BlendMode BlendMode)
WriteableBitmapExtensions.Blit(bmp, destPosition, source, sourceRect, color, BlendMode)

Cópias (blits) dos pixels da WriteableBitmap fonte para o destino WriteableBitmap (isto).

bmp
O destino WriteableBitmap.
destPosition
A posição de destino no mapa de bits de destino.
source
A fonte WriteableBitmap.
sourceRect
O retângulo que será copiado da fonte para o destino.
color
Se não Colors.White, irá pintar a imagem de origem. Uma cor parcialmente transparente e a imagem será desenhada parcialmente transparente.
BlendMode
O modo de mistura BlendMode.
Blit
internal static void Blit(WriteableBitmap bmp, Rect destRect, WriteableBitmap source, Rect sourceRect)
WriteableBitmapExtensions.Blit(bmp, destRect, source, sourceRect)

Cópias (blits) dos pixels da WriteableBitmap fonte para o destino WriteableBitmap (isto).

bmp
O destino WriteableBitmap.
destRect
O retângulo que define a região de destino.
source
A fonte WriteableBitmap.
sourceRect
O retângulo que será copiado da fonte para o destino.
Blit
internal static void Blit(WriteableBitmap bmp, Rect destRect, WriteableBitmap source, Rect sourceRect, BlendMode BlendMode)
WriteableBitmapExtensions.Blit(bmp, destRect, source, sourceRect, BlendMode)

Cópias (blits) dos pixels da WriteableBitmap fonte para o destino WriteableBitmap (isto).

bmp
O destino WriteableBitmap.
destRect
O retângulo que define a região de destino.
source
A fonte WriteableBitmap.
sourceRect
O retângulo que será copiado da fonte para o destino.
BlendMode
O modo de mistura BlendMode.
Clear
internal static void Clear(WriteableBitmap bmp, Color color)
WriteableBitmapExtensions.Clear(bmp, color)

Preenche o WriteableBitmap com uma cor.

bmp
O WriteableBitmap.
color
A cor usada para enchimento.
Clear
internal static void Clear(WriteableBitmap bmp)
WriteableBitmapExtensions.Clear(bmp)

Preenche o todo WriteableBitmap com uma cor vazia (0).

bmp
O WriteableBitmap.
Clone
internal static WriteableBitmap Clone(WriteableBitmap bmp)
result = WriteableBitmapExtensions.Clone(bmp)

Clone o especificado WriteableBitmap.

bmp
O WriteableBitmap.

Retorna: Uma cópia do WriteableBitmap.

CohenSutherlandLineClip
internal static bool CohenSutherlandLineClip(Rect extents, double x0, double y0, double x1, double y1)
result = WriteableBitmapExtensions.CohenSutherlandLineClip(extents, x0, y0, x1, y1)

O algoritmo de recorte Cohen–Sutherland clips uma linha de P0 = (x0, y0) para P1 = (x1, y1) contra um retângulo com diagonal de (xmin, ymin) para (xmax, ymax).

Retorna: uma lista de dois pontos na linha cortada resultante, ou zero

ComputeBezierPoints
private static List<int> ComputeBezierPoints(int x1, int y1, int cx1, int cy1, int cx2, int cy2, int x2, int y2, int color, BitmapContext context, int w, int h)
result = WriteableBitmapExtensions.ComputeBezierPoints(x1, y1, cx1, cy1, cx2, cy2, x2, y2, color, context, w, h)

Desenha uma spline de Bezier cúbica preenchida definida por start, end e dois pontos de controle.

x1
A coordenada x do ponto de partida.
y1
A coordenada y do ponto de partida.
cx1
A coordenada x do 1o ponto de controlo.
cy1
A coordenada y do 1o ponto de controlo.
cx2
A coordenada x do segundo ponto de controlo.
cy2
A coordenada y do segundo ponto de controlo.
x2
A coordenada x do ponto final.
y2
A coordenada y do ponto final.
color
A cor.
context
O contexto do bitmap.
w
A largura do mapa de bits.
h
A altura do mapa de bits.
ComputeOutCode
private static byte ComputeOutCode(Rect extents, double x, double y)
result = WriteableBitmapExtensions.ComputeOutCode(extents, x, y)

Calcular o código de bits para um ponto (x, y) usando o retângulo de clipe limitado diagonalmente por (xmin, ymin), e (xmax, ymax) ASSUME QUE xmax, xmin, ymax e ymin são constantes globais.

extents
As extensões.
x
O x.
y
O y.
ComputeSegmentPoints
private static List<int> ComputeSegmentPoints(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, float tension, int color, BitmapContext context, int w, int h)
result = WriteableBitmapExtensions.ComputeSegmentPoints(x1, y1, x2, y2, x3, y3, x4, y4, tension, color, context, w, h)

Calcula os pontos de segmento discretos de uma spline cardeal (cubic) definido por quatro pontos de controle.

x1
A coordenada x do 1o ponto de controlo.
y1
A coordenada y do 1o ponto de controlo.
x2
A coordenada x do segundo ponto de controlo.
y2
A coordenada y do segundo ponto de controlo.
x3
A coordenada x do terceiro ponto de controlo.
y3
A coordenada y do terceiro ponto de controlo.
x4
A coordenada x do 4o ponto de controlo.
y4
A coordenada y do 4o ponto de controlo.
tension
A tensão da curva define a forma. Normalmente entre 0 e 1, 0 seria uma linha reta.
color
A cor.
context
O contexto que contém o array de pixels.
w
A largura do mapa de bits.
h
A altura do mapa de bits.
Convolute(WriteableBitmap, Int32[0:,0:]) : WriteableBitmap

Cria um novo filtro WriteableBitmap.

bmp
O WriteableBitmap.
kernel
O kernel usado para a convolução.

Retorna: Uma nova WriteableBitmap que é uma versão filtrada da entrada.

Convolute(WriteableBitmap, Int32[0:,0:], int, int) : WriteableBitmap

Cria um novo filtro WriteableBitmap.

bmp
O WriteableBitmap.
kernel
O kernel usado para a convolução.
kernelFactorSum
O fator usado para a soma do kernel.
kernelOffsetSum
O deslocamento usado para o somatório do kernel.

Retorna: Uma nova WriteableBitmap que é uma versão filtrada da entrada.

DrawBezier
internal static void DrawBezier(WriteableBitmap bmp, int x1, int y1, int cx1, int cy1, int cx2, int cy2, int x2, int y2, Color color)
WriteableBitmapExtensions.DrawBezier(bmp, x1, y1, cx1, cy1, cx2, cy2, x2, y2, color)

Desenha uma spline cúbica de Beziér definida por start, end e dois pontos de controle.

bmp
O WriteableBitmap.
x1
A coordenada x do ponto de partida.
y1
A coordenada y do ponto de partida.
cx1
A coordenada x do 1o ponto de controlo.
cy1
A coordenada y do 1o ponto de controlo.
cx2
A coordenada x do segundo ponto de controlo.
cy2
A coordenada y do segundo ponto de controlo.
x2
A coordenada x do ponto final.
y2
A coordenada y do ponto final.
color
A cor.
DrawBezier
internal static void DrawBezier(WriteableBitmap bmp, int x1, int y1, int cx1, int cy1, int cx2, int cy2, int x2, int y2, int color)
WriteableBitmapExtensions.DrawBezier(bmp, x1, y1, cx1, cy1, cx2, cy2, x2, y2, color)

Desenha uma spline cúbica de Beziér definida por start, end e dois pontos de controle.

bmp
O WriteableBitmap.
x1
A coordenada x do ponto de partida.
y1
A coordenada y do ponto de partida.
cx1
A coordenada x do 1o ponto de controlo.
cy1
A coordenada y do 1o ponto de controlo.
cx2
A coordenada x do segundo ponto de controlo.
cy2
A coordenada y do segundo ponto de controlo.
x2
A coordenada x do ponto final.
y2
A coordenada y do ponto final.
color
A cor.
DrawBeziers
internal static void DrawBeziers(WriteableBitmap bmp, int[] points, int color)
WriteableBitmapExtensions.DrawBeziers(bmp, points, color)

Desenha uma série de curvas cúbicas de Beziér cada uma definida por pontos de início, fim e dois de controlo. O ponto final da curva anterior é usado como ponto de partida para o próximo. Por conseguinte, a curva inicial necessita de quatro pontos e o subsequente 3 (2 de controlo e 1 de fim).

bmp
O WriteableBitmap.
points
Os pontos para a curva em pares x e y, portanto, o array é interpretado como (x1, y1, cx1, cx2, cy2, x2, y2, cx3, cx4 ..., xn, yn).
color
A cor para a entorse.
DrawBeziers
internal static void DrawBeziers(WriteableBitmap bmp, int[] points, Color color)
WriteableBitmapExtensions.DrawBeziers(bmp, points, color)

Desenha uma série de curvas cúbicas de Beziér cada uma definida por pontos de início, fim e dois de controlo. O ponto final da curva anterior é usado como ponto de partida para o próximo. Por conseguinte, a curva inicial necessita de quatro pontos e o subsequente 3 (2 de controlo e 1 de fim).

bmp
O WriteableBitmap.
points
Os pontos para a curva em pares x e y, portanto, o array é interpretado como (x1, y1, cx1, cx2, cy2, x2, y2, cx3, cx4 ..., xn, yn).
color
A cor para a entorse.
DrawCurve
internal static void DrawCurve(WriteableBitmap bmp, int[] points, float tension, int color)
WriteableBitmapExtensions.DrawCurve(bmp, points, tension, color)

Desenha uma spline cardeal (cubic) definida por uma coleção de pontos. A spline cardeal passa por cada ponto da coleção.

bmp
O WriteableBitmap.
points
Os pontos para a curva em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, x3, y3, x4, y4, x1, x2 ..., xn, yn).
tension
A tensão da curva define a forma. Normalmente entre 0 e 1, 0 seria uma linha reta.
color
A cor para a entorse.
DrawCurve
internal static void DrawCurve(WriteableBitmap bmp, int[] points, float tension, Color color)
WriteableBitmapExtensions.DrawCurve(bmp, points, tension, color)

Desenha uma spline cardeal (cubic) definida por uma coleção de pontos. A spline cardeal passa por cada ponto da coleção.

bmp
O WriteableBitmap.
points
Os pontos para a curva em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, x3, y3, x4, y4, x1, x2 ..., xn, yn).
tension
A tensão da curva define a forma. Normalmente entre 0 e 1, 0 seria uma linha reta.
color
A cor para a entorse.
DrawCurveClosed
internal static void DrawCurveClosed(WriteableBitmap bmp, int[] points, float tension, int color)
WriteableBitmapExtensions.DrawCurveClosed(bmp, points, tension, color)

Desenha um cardeal fechado spline (cubic) definido por uma coleção de pontos. O cardeal spline passa por cada ponto da coleção.

bmp
O WriteableBitmap.
points
Os pontos para a curva em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, x3, y3, x4, y4, x1, x2 ..., xn, yn).
tension
A tensão da curva define a forma. Normalmente entre 0 e 1, 0 seria uma linha reta.
color
A cor para a entorse.
DrawCurveClosed
internal static void DrawCurveClosed(WriteableBitmap bmp, int[] points, float tension, Color color)
WriteableBitmapExtensions.DrawCurveClosed(bmp, points, tension, color)

Desenha um cardeal fechado spline (cubic) definido por uma coleção de pontos. O cardeal spline passa por cada ponto da coleção.

bmp
O WriteableBitmap.
points
Os pontos para a curva em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, x3, y3, x4, y4, x1, x2 ..., xn, yn).
tension
A tensão da curva define a forma. Normalmente entre 0 e 1, 0 seria uma linha reta.
color
A cor para a entorse.
DrawCurveSegment
private static void DrawCurveSegment(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, float tension, int color, BitmapContext context, int w, int h)
WriteableBitmapExtensions.DrawCurveSegment(x1, y1, x2, y2, x3, y3, x4, y4, tension, color, context, w, h)

Desenha um segmento de uma spline cardeal (cubic) definido por quatro pontos de controle.

x1
A coordenada x do 1o ponto de controlo.
y1
A coordenada y do 1o ponto de controlo.
x2
A coordenada x do segundo ponto de controlo.
y2
A coordenada y do segundo ponto de controlo.
x3
A coordenada x do terceiro ponto de controlo.
y3
A coordenada y do terceiro ponto de controlo.
x4
A coordenada x do 4o ponto de controlo.
y4
A coordenada y do 4o ponto de controlo.
tension
A tensão da curva define a forma. Normalmente entre 0 e 1, 0 seria uma linha reta.
color
A cor.
context
O contexto que contém o array de pixels.
w
A largura do mapa de bits.
h
A altura do mapa de bits.
DrawEllipse
internal static void DrawEllipse(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int color, int thickness)
WriteableBitmapExtensions.DrawEllipse(bmp, x1, y1, x2, y2, color, thickness)

Um algoritmo rápido do tipo bresenham para desenhar elipses http://homepage.smc.edu/kennedy_john/belipse.pdf x2 tem que ser maior que x1 e y2 tem que ser maior que y1.

bmp
O WriteableBitmap.
x1
A coordenada x do retângulo delimitador do lado esquerdo.
y1
A coordenada y do retângulo delimitador no topo.
x2
A coordenada x do retângulo delimitador do lado direito.
y2
A coordenada y do retângulo delimitador do lado inferior.
color
A cor para a linha.
thickness
A espessura para a linha
DrawEllipseCentered
internal static void DrawEllipseCentered(WriteableBitmap bmp, int xc, int yc, int xr, int yr, Color color)
WriteableBitmapExtensions.DrawEllipseCentered(bmp, xc, yc, xr, yr, color)

Um algoritmo de tipo rápido Bresenham para desenhar Elipses http://homepage.smc.edu/kennedy_john/belipse.pdf usa uma representação de parâmetros diferente de DrawEllipse().

bmp
O WriteableBitmap.
xc
A coordenada x do centro das elipses.
yc
A coordenada y do centro das elipses.
xr
O raio da elipse em direção x.
yr
O raio da elipse na direção y.
color
A cor para a linha.
DrawEllipseCentered
internal static void DrawEllipseCentered(WriteableBitmap bmp, int xc, int yc, int xr, int yr, int color)
WriteableBitmapExtensions.DrawEllipseCentered(bmp, xc, yc, xr, yr, color)

Um algoritmo de tipo rápido Bresenham para desenhar Elipses http://homepage.smc.edu/kennedy_john/belipse.pdf usa uma representação de parâmetros diferente de DrawEllipse().

bmp
O WriteableBitmap.
xc
A coordenada x do centro das elipses.
yc
A coordenada y do centro das elipses.
xr
O raio da elipse em direção x.
yr
O raio da elipse na direção y.
color
A cor para a linha.
DrawLine
internal static void DrawLine(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int color)
WriteableBitmapExtensions.DrawLine(bmp, x1, y1, x2, y2, color)

Desenha uma linha colorida conectando dois pontos usando um DDA otimizado.

bmp
O WriteableBitmap.
x1
A coordenada x do ponto de partida.
y1
A coordenada y do ponto de partida.
x2
A coordenada x do ponto final.
y2
A coordenada y do ponto final.
color
A cor para a linha.
DrawLine
internal static void DrawLine(BitmapContext context, int pixelWidth, int pixelHeight, int x1, int y1, int x2, int y2, int color)
WriteableBitmapExtensions.DrawLine(context, pixelWidth, pixelHeight, x1, y1, x2, y2, color)

Desenha uma linha colorida conectando dois pontos usando um DDA otimizado. Utiliza o array de pixels e a largura diretamente para o melhor desempenho.

context
Um contexto contendo os pixels como valor RGBA int.
pixelWidth
A largura de uma linha de varredura na matriz de pixels.
pixelHeight
A altura do mapa de bits.
x1
A coordenada x do ponto de partida.
y1
A coordenada y do ponto de partida.
x2
A coordenada x do ponto final.
y2
A coordenada y do ponto final.
color
A cor para a linha.
DrawLine
internal static void DrawLine(WriteableBitmap bmp, int x1, int y1, int x2, int y2, Color color)
WriteableBitmapExtensions.DrawLine(bmp, x1, y1, x2, y2, color)

Desenha uma linha colorida conectando dois pontos usando um DDA otimizado.

bmp
O WriteableBitmap.
x1
A coordenada x do ponto de partida.
y1
A coordenada y do ponto de partida.
x2
A coordenada x do ponto final.
y2
A coordenada y do ponto final.
color
A cor para a linha.
DrawLineAa
internal static void DrawLineAa(WriteableBitmap bmp, int x1, int y1, int x2, int y2, Color color)
WriteableBitmapExtensions.DrawLineAa(bmp, x1, y1, x2, y2, color)

Desenha uma linha anti- aliased, usando uma versão otimizada do algoritmo Gupta- Sproull De http://nokola.com/blog/post/2010/10/14/Anti-aliased-Lines-And-Optimizing-Code-for-Windows-Phone-7e28093First-Look.aspxThe WriteableBitmap. A coordenada x do ponto inicial. A coordenada y do ponto inicial. A coordenada x do ponto final. A coordenada y do ponto final. A coordenada y do ponto final. A cor da linha.

DrawLineAa
internal static void DrawLineAa(BitmapContext context, int pixelWidth, int pixelHeight, int x1, int y1, int x2, int y2, int color, bool skipFirstPixel)
WriteableBitmapExtensions.DrawLineAa(context, pixelWidth, pixelHeight, x1, y1, x2, y2, color, skipFirstPixel)

Desenha uma linha anti- aliasada, usando uma versão otimizada do algoritmo Gupta- Sproull De http://nokola.com/blog/post/2010/10/14/Anti-aliased-Lines-And-Optimizing-Code-for-Windows-Phone-7e28093First-Look.aspxA contexto contendo os pixels como valor RGBA int. A largura de uma linha de digitalização na matriz de pixels. A altura do mapa de bits. A coordenada x do ponto de partida. A coordenada y do ponto de início. A coordenada x do ponto de fim. A coordenada y do ponto final. A coordenada y do ponto de fim. A cor da linha.

DrawLineAa
internal static void DrawLineAa(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int color)
WriteableBitmapExtensions.DrawLineAa(bmp, x1, y1, x2, y2, color)

Desenha uma linha anti- aliased, usando uma versão otimizada do algoritmo Gupta- Sproull De http://nokola.com/blog/post/2010/10/14/Anti-aliased-Lines-And-Optimizing-Code-for-Windows-Phone-7e28093First-Look.aspxThe WriteableBitmap. A coordenada x do ponto inicial. A coordenada y do ponto inicial. A coordenada x do ponto final. A coordenada y do ponto final. A coordenada y do ponto final. A cor da linha.

DrawLineBresenham
internal static void DrawLineBresenham(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int color)
WriteableBitmapExtensions.DrawLineBresenham(bmp, x1, y1, x2, y2, color)

Desenha uma linha colorida conectando dois pontos usando o algoritmo de Bresenham.

bmp
O WriteableBitmap.
x1
A coordenada x do ponto de partida.
y1
A coordenada y do ponto de partida.
x2
A coordenada x do ponto final.
y2
A coordenada y do ponto final.
color
A cor para a linha.
DrawLineBresenham
internal static void DrawLineBresenham(WriteableBitmap bmp, int x1, int y1, int x2, int y2, Color color)
WriteableBitmapExtensions.DrawLineBresenham(bmp, x1, y1, x2, y2, color)

Desenha uma linha colorida conectando dois pontos usando o algoritmo de Bresenham.

bmp
O WriteableBitmap.
x1
A coordenada x do ponto de partida.
y1
A coordenada y do ponto de partida.
x2
A coordenada x do ponto final.
y2
A coordenada y do ponto final.
color
A cor para a linha.
DrawLineDDA
internal static void DrawLineDDA(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int color)
WriteableBitmapExtensions.DrawLineDDA(bmp, x1, y1, x2, y2, color)

Desenha uma linha colorida conectando dois pontos usando um algoritmo DDA (Digital Differential Analyzer).

bmp
O WriteableBitmap.
x1
A coordenada x do ponto de partida.
y1
A coordenada y do ponto de partida.
x2
A coordenada x do ponto final.
y2
A coordenada y do ponto final.
color
A cor para a linha.
DrawLineDDA
internal static void DrawLineDDA(WriteableBitmap bmp, int x1, int y1, int x2, int y2, Color color)
WriteableBitmapExtensions.DrawLineDDA(bmp, x1, y1, x2, y2, color)

Desenha uma linha colorida conectando dois pontos usando um algoritmo DDA (Digital Differential Analyzer).

bmp
O WriteableBitmap.
x1
A coordenada x do ponto de partida.
y1
A coordenada y do ponto de partida.
x2
A coordenada x do ponto final.
y2
A coordenada y do ponto final.
color
A cor para a linha.
DrawPolyline
internal static void DrawPolyline(WriteableBitmap bmp, int[] points, Color color)
WriteableBitmapExtensions.DrawPolyline(bmp, points, color)

Desenha uma linha poli. Adicione o primeiro ponto também no fim da matriz se a linha deve ser fechada.

bmp
O WriteableBitmap.
points
Os pontos da polilinha em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, ..., xn, yn).
color
A cor para a linha.
DrawPolyline
internal static void DrawPolyline(WriteableBitmap bmp, int[] points, int color)
WriteableBitmapExtensions.DrawPolyline(bmp, points, color)

Desenha uma linha poli. Adicione o primeiro ponto também no fim da matriz se a linha deve ser fechada.

bmp
O WriteableBitmap.
points
Os pontos da polilinha em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, ..., xn, yn).
color
A cor para a linha.
DrawQuad
internal static void DrawQuad(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, Color color)
WriteableBitmapExtensions.DrawQuad(bmp, x1, y1, x2, y2, x3, y3, x4, y4, color)

Desenha um quadrado.

bmp
O WriteableBitmap.
x1
A coordenada x do primeiro ponto.
y1
A coordenada y do primeiro ponto.
x2
A coordenada x do segundo ponto.
y2
A coordenada y do segundo ponto.
x3
A coordenada x do terceiro ponto.
y3
A coordenada y do terceiro ponto.
x4
A coordenada x do 4o ponto.
y4
A coordenada y do 4o ponto.
color
A cor.
DrawQuad
internal static void DrawQuad(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int color)
WriteableBitmapExtensions.DrawQuad(bmp, x1, y1, x2, y2, x3, y3, x4, y4, color)

Desenha um quadrado.

bmp
O WriteableBitmap.
x1
A coordenada x do primeiro ponto.
y1
A coordenada y do primeiro ponto.
x2
A coordenada x do segundo ponto.
y2
A coordenada y do segundo ponto.
x3
A coordenada x do terceiro ponto.
y3
A coordenada y do terceiro ponto.
x4
A coordenada x do 4o ponto.
y4
A coordenada y do 4o ponto.
color
A cor.
DrawRectangle
internal static void DrawRectangle(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int color)
WriteableBitmapExtensions.DrawRectangle(bmp, x1, y1, x2, y2, color)

Desenha um retângulo. x2 tem de ser maior que x1 e y2 tem de ser maior que y1.

bmp
O WriteableBitmap.
x1
A coordenada x do retângulo delimitador do lado esquerdo.
y1
A coordenada y do retângulo delimitador no topo.
x2
A coordenada x do retângulo delimitador do lado direito.
y2
A coordenada y do retângulo delimitador do lado inferior.
color
A cor.
DrawRectangle
internal static void DrawRectangle(WriteableBitmap bmp, int x1, int y1, int x2, int y2, Color color)
WriteableBitmapExtensions.DrawRectangle(bmp, x1, y1, x2, y2, color)

Desenha um retângulo. x2 tem de ser maior que x1 e y2 tem de ser maior que y1.

bmp
O WriteableBitmap.
x1
A coordenada x do retângulo delimitador do lado esquerdo.
y1
A coordenada y do retângulo delimitador no topo.
x2
A coordenada x do retângulo delimitador do lado direito.
y2
A coordenada y do retângulo delimitador do lado inferior.
color
A cor.
DrawTriangle
internal static void DrawTriangle(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int x3, int y3, Color color)
WriteableBitmapExtensions.DrawTriangle(bmp, x1, y1, x2, y2, x3, y3, color)

Desenha um triângulo.

bmp
O WriteableBitmap.
x1
A coordenada x do primeiro ponto.
y1
A coordenada y do primeiro ponto.
x2
A coordenada x do segundo ponto.
y2
A coordenada y do segundo ponto.
x3
A coordenada x do terceiro ponto.
y3
A coordenada y do terceiro ponto.
color
A cor.
DrawTriangle
internal static void DrawTriangle(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int x3, int y3, int color)
WriteableBitmapExtensions.DrawTriangle(bmp, x1, y1, x2, y2, x3, y3, color)

Desenha um triângulo.

bmp
O WriteableBitmap.
x1
A coordenada x do primeiro ponto.
y1
A coordenada y do primeiro ponto.
x2
A coordenada x do segundo ponto.
y2
A coordenada y do segundo ponto.
x3
A coordenada x do terceiro ponto.
y3
A coordenada y do terceiro ponto.
color
A cor.
DrawWuLine
public static void DrawWuLine(BitmapContext context, int pixelWidth, int pixelHeight, short X0, short Y0, short X1, short Y1, int sa, int sr, int sg, int sb)
WriteableBitmapExtensions.DrawWuLine(context, pixelWidth, pixelHeight, X0, Y0, X1, Y1, sa, sr, sg, sb)

Desenha uma linha colorida anti-aliased, alfa misturado, conectando dois pontos usando o algoritmo de antialiasing de Wu Usa o array de pixels e a largura diretamente para o melhor desempenho.

context
Um array contendo os pixels como valor RGBA int.
pixelWidth
A largura de uma linha de varredura na matriz de pixels.
pixelHeight
A altura do mapa de bits.
X0
O x0.
Y0
O y0.
X1
O x1.
Y1
O y1.
sa
Componente de cores alfa
sr
Componente de cor vermelha pré-multiplicado
sg
Componente de cor verde pré-multiplicado
sb
Componente de cor azul pré-multiplicado
FillBeziers
internal static void FillBeziers(WriteableBitmap bmp, int[] points, Color color)
WriteableBitmapExtensions.FillBeziers(bmp, points, color)

Desenha uma série de curvas cúbicas de Bezier preenchidas cada uma definida por pontos de início, fim e dois de controlo. O ponto final da curva anterior é usado como ponto de partida para o próximo. Por conseguinte, a curva inicial necessita de quatro pontos e o ponto final subsequente de 3 (2 de controlo e 1 de fim).

bmp
O WriteableBitmap.
points
Os pontos para a curva em pares x e y, portanto, o array é interpretado como (x1, y1, cx1, cx2, cy2, x2, y2, cx3, cx4 ..., xn, yn).
color
A cor para a entorse.
FillBeziers
internal static void FillBeziers(WriteableBitmap bmp, int[] points, int color)
WriteableBitmapExtensions.FillBeziers(bmp, points, color)

Desenha uma série de curvas cúbicas de Bezier preenchidas cada uma definida por pontos de início, fim e dois de controlo. O ponto final da curva anterior é usado como ponto de partida para o próximo. Por conseguinte, a curva inicial necessita de quatro pontos e o ponto final subsequente de 3 (2 de controlo e 1 de fim).

bmp
O WriteableBitmap.
points
Os pontos para a curva em pares x e y, portanto, o array é interpretado como (x1, y1, cx1, cx2, cy2, x2, y2, cx3, cx4 ..., xn, yn).
color
A cor para a entorse.
FillCurve
internal static void FillCurve(WriteableBitmap bmp, int[] points, float tension, int color)
WriteableBitmapExtensions.FillCurve(bmp, points, tension, color)

Desenha um cardeal cheio spline (cubic) definido por uma coleção de pontos. O spline cardeal passa por cada ponto da coleção.

bmp
O WriteableBitmap.
points
Os pontos para a curva em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, x3, y3, x4, y4, x1, x2 ..., xn, yn).
tension
A tensão da curva define a forma. Normalmente entre 0 e 1, 0 seria uma linha reta.
color
A cor para a entorse.
FillCurve
internal static void FillCurve(WriteableBitmap bmp, int[] points, float tension, Color color)
WriteableBitmapExtensions.FillCurve(bmp, points, tension, color)

Desenha um cardeal cheio spline (cubic) definido por uma coleção de pontos. O spline cardeal passa por cada ponto da coleção.

bmp
O WriteableBitmap.
points
Os pontos para a curva em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, x3, y3, x4, y4, x1, x2 ..., xn, yn).
tension
A tensão da curva define a forma. Normalmente entre 0 e 1, 0 seria uma linha reta.
color
A cor para a entorse.
FillCurveClosed
internal static void FillCurveClosed(WriteableBitmap bmp, int[] points, float tension, Color color)
WriteableBitmapExtensions.FillCurveClosed(bmp, points, tension, color)

Desenha uma spline cheia e fechada do Cardeal (cubic) definida por uma coleção de pontos. A spline cardeal passa por cada ponto da coleção.

bmp
O WriteableBitmap.
points
Os pontos para a curva em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, x3, y3, x4, y4, x1, x2 ..., xn, yn).
tension
A tensão da curva define a forma. Normalmente entre 0 e 1, 0 seria uma linha reta.
color
A cor para a entorse.
FillCurveClosed
internal static void FillCurveClosed(WriteableBitmap bmp, int[] points, float tension, int color)
WriteableBitmapExtensions.FillCurveClosed(bmp, points, tension, color)

Desenha uma spline cheia e fechada do Cardeal (cubic) definida por uma coleção de pontos. A spline cardeal passa por cada ponto da coleção.

bmp
O WriteableBitmap.
points
Os pontos para a curva em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, x3, y3, x4, y4, x1, x2 ..., xn, yn).
tension
A tensão da curva define a forma. Normalmente entre 0 e 1, 0 seria uma linha reta.
color
A cor para a entorse.
FillEllipse
internal static void FillEllipse(WriteableBitmap bmp, int x1, int y1, int x2, int y2, Color color)
WriteableBitmapExtensions.FillEllipse(bmp, x1, y1, x2, y2, color)

Um algoritmo rápido do tipo bresenham para desenhar elipses preenchidas http://homepage.smc.edu/kennedy_john/belipse.pdf x2 tem que ser maior que x1 e y2 tem que ser maior que y1.

bmp
O WriteableBitmap.
x1
A coordenada x do retângulo delimitador do lado esquerdo.
y1
A coordenada y do retângulo delimitador no topo.
x2
A coordenada x do retângulo delimitador do lado direito.
y2
A coordenada y do retângulo delimitador do lado inferior.
color
A cor para a linha.
FillEllipse
internal static void FillEllipse(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int color)
WriteableBitmapExtensions.FillEllipse(bmp, x1, y1, x2, y2, color)

Um algoritmo rápido do tipo bresenham para desenhar elipses preenchidas http://homepage.smc.edu/kennedy_john/belipse.pdf x2 tem que ser maior que x1 e y2 tem que ser maior que y1.

bmp
O WriteableBitmap.
x1
A coordenada x do retângulo delimitador do lado esquerdo.
y1
A coordenada y do retângulo delimitador no topo.
x2
A coordenada x do retângulo delimitador do lado direito.
y2
A coordenada y do retângulo delimitador do lado inferior.
color
A cor para a linha.
FillEllipseCentered
internal static void FillEllipseCentered(WriteableBitmap bmp, int xc, int yc, int xr, int yr, int color)
WriteableBitmapExtensions.FillEllipseCentered(bmp, xc, yc, xr, yr, color)

Um algoritmo rápido do tipo bresenham para desenhar elipses preenchidas http://homepage.smc.edu/kennedy_john/belipse.pdf usa uma representação de parâmetros diferente de DrawEllipse().

bmp
O WriteableBitmap.
xc
A coordenada x do centro das elipses.
yc
A coordenada y do centro das elipses.
xr
O raio da elipse em direção x.
yr
O raio da elipse na direção y.
color
A cor para a linha.
FillEllipseCentered
internal static void FillEllipseCentered(WriteableBitmap bmp, int xc, int yc, int xr, int yr, Color color)
WriteableBitmapExtensions.FillEllipseCentered(bmp, xc, yc, xr, yr, color)

Um algoritmo rápido do tipo bresenham para desenhar elipses preenchidas http://homepage.smc.edu/kennedy_john/belipse.pdf usa uma representação de parâmetros diferente de DrawEllipse().

bmp
O WriteableBitmap.
xc
A coordenada x do centro das elipses.
yc
A coordenada y do centro das elipses.
xr
O raio da elipse em direção x.
yr
O raio da elipse na direção y.
color
A cor para a linha.
FillPolygon
internal static void FillPolygon(WriteableBitmap bmp, int[] points, Func<int, int, int> colorCb, BlendMode blendMode)
WriteableBitmapExtensions.FillPolygon(bmp, points, colorCb, blendMode)

Desenha um polígono preenchido. Adicione o primeiro ponto também no fim da lista se a linha deve ser fechada.

bmp
O WriteableBitmap.
points
Os pontos do polígono em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, ..., xn, yn).
colorCb
A cor para o preenchimento.
blendMode
O modo de mistura. O padrão é Alfa
FillPolygon
internal static void FillPolygon(WriteableBitmap bmp, int[] points, int color, BlendMode blendMode)
WriteableBitmapExtensions.FillPolygon(bmp, points, color, blendMode)

Desenha um polígono preenchido. Adicione o primeiro ponto também no fim da lista se a linha deve ser fechada.

bmp
O WriteableBitmap.
points
Os pontos do polígono em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, ..., xn, yn).
color
A cor para a linha.
blendMode
O modo de mistura. O padrão é Alfa
FillPolygon
internal static void FillPolygon(WriteableBitmap bmp, int[] points, Color color)
WriteableBitmapExtensions.FillPolygon(bmp, points, color)

Desenha um polígono preenchido. Adicione o primeiro ponto também no fim da lista se a linha deve ser fechada.

bmp
O WriteableBitmap.
points
Os pontos do polígono em pares x e y, portanto, o array é interpretado como (x1, y1, x2, y2, ..., xn, yn).
color
A cor para a linha.
FillQuad
internal static void FillQuad(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int color)
WriteableBitmapExtensions.FillQuad(bmp, x1, y1, x2, y2, x3, y3, x4, y4, color)

Desenha um quadrado preenchido.

bmp
O WriteableBitmap.
x1
A coordenada x do primeiro ponto.
y1
A coordenada y do primeiro ponto.
x2
A coordenada x do segundo ponto.
y2
A coordenada y do segundo ponto.
x3
A coordenada x do terceiro ponto.
y3
A coordenada y do terceiro ponto.
x4
A coordenada x do 4o ponto.
y4
A coordenada y do 4o ponto.
color
A cor.
FillQuad
internal static void FillQuad(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, Color color)
WriteableBitmapExtensions.FillQuad(bmp, x1, y1, x2, y2, x3, y3, x4, y4, color)

Desenha um quadrado preenchido.

bmp
O WriteableBitmap.
x1
A coordenada x do primeiro ponto.
y1
A coordenada y do primeiro ponto.
x2
A coordenada x do segundo ponto.
y2
A coordenada y do segundo ponto.
x3
A coordenada x do terceiro ponto.
y3
A coordenada y do terceiro ponto.
x4
A coordenada x do 4o ponto.
y4
A coordenada y do 4o ponto.
color
A cor.
FillRectangle
internal static void FillRectangle(WriteableBitmap bmp, int x1, int y1, int x2, int y2, Color color)
WriteableBitmapExtensions.FillRectangle(bmp, x1, y1, x2, y2, color)

Desenha um retângulo preenchido. x2 tem que ser maior que x1 e y2 tem que ser maior que y1.

bmp
O WriteableBitmap.
x1
A coordenada x do retângulo delimitador do lado esquerdo.
y1
A coordenada y do retângulo delimitador no topo.
x2
A coordenada x do retângulo delimitador do lado direito.
y2
A coordenada y do retângulo delimitador do lado inferior.
color
A cor.
FillRectangle
internal static void FillRectangle(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int color, BlendMode blendMode)
WriteableBitmapExtensions.FillRectangle(bmp, x1, y1, x2, y2, color, blendMode)

Desenha um retângulo preenchido. x2 tem que ser maior que x1 e y2 tem que ser maior que y1.

bmp
O WriteableBitmap.
x1
A coordenada x do retângulo delimitador do lado esquerdo.
y1
A coordenada y do retângulo delimitador no topo.
x2
A coordenada x do retângulo delimitador do lado direito.
y2
A coordenada y do retângulo delimitador do lado inferior.
color
A cor.
blendMode
O modo de mistura.
FillRectangle
internal static void FillRectangle(WriteableBitmap bmp, int x1, int y1, int x2, int y2, Func<int, int, int> colorCb, BlendMode blendMode)
WriteableBitmapExtensions.FillRectangle(bmp, x1, y1, x2, y2, colorCb, blendMode)

Desenha um retângulo preenchido. x2 tem que ser maior que x1 e y2 tem que ser maior que y1.

bmp
O WriteableBitmap.
x1
A coordenada x do retângulo delimitador do lado esquerdo.
y1
A coordenada y do retângulo delimitador no topo.
x2
A coordenada x do retângulo delimitador do lado direito.
y2
A coordenada y do retângulo delimitador do lado inferior.
colorCb
A cor.
blendMode
O modo de mistura.
FillTriangle
internal static void FillTriangle(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int x3, int y3, int color)
WriteableBitmapExtensions.FillTriangle(bmp, x1, y1, x2, y2, x3, y3, color)

Desenha um triângulo preenchido.

bmp
O WriteableBitmap.
x1
A coordenada x do primeiro ponto.
y1
A coordenada y do primeiro ponto.
x2
A coordenada x do segundo ponto.
y2
A coordenada y do segundo ponto.
x3
A coordenada x do terceiro ponto.
y3
A coordenada y do terceiro ponto.
color
A cor.
FillTriangle
internal static void FillTriangle(WriteableBitmap bmp, int x1, int y1, int x2, int y2, int x3, int y3, Color color)
WriteableBitmapExtensions.FillTriangle(bmp, x1, y1, x2, y2, x3, y3, color)

Desenha um triângulo preenchido.

bmp
O WriteableBitmap.
x1
A coordenada x do primeiro ponto.
y1
A coordenada y do primeiro ponto.
x2
A coordenada x do segundo ponto.
y2
A coordenada y do segundo ponto.
x3
A coordenada x do terceiro ponto.
y3
A coordenada y do terceiro ponto.
color
A cor.
Flip
internal static WriteableBitmap Flip(WriteableBitmap bmp, FlipMode flipMode)
result = WriteableBitmapExtensions.Flip(bmp, flipMode)

Flips (refletir a imagem) eiter vertical ou horizontal.

bmp
O WriteableBitmap.
flipMode
O modo de inversão.

Retorna: Uma nova WriteableBitmap que é uma versão invertida da entrada.

ForEach
internal static void ForEach(WriteableBitmap bmp, Func<int, int, Color> func)
WriteableBitmapExtensions.ForEach(bmp, func)

Aplica a função dada a todos os pixels do mapa de bits para definir a cor.

bmp
O WriteableBitmap.
func
A função a aplicar. Com os parâmetros x, y e uma cor como resultado
ForEach
internal static void ForEach(WriteableBitmap bmp, Func<int, int, Color, Color> func)
WriteableBitmapExtensions.ForEach(bmp, func)

Aplica a função dada a todos os pixels do mapa de bits para definir a cor.

bmp
O WriteableBitmap.
func
A função a aplicar. Com parâmetros x, y, cor da fonte e uma cor como resultado
FromByteArray
internal static WriteableBitmap FromByteArray(WriteableBitmap bmp, byte[] buffer)
result = WriteableBitmapExtensions.FromByteArray(bmp, buffer)

Copia todas as informações de cor de um array de bytes ARGB para este WriteableBitmap.

bmp
O WriteableBitmap.
buffer
O buffer de cor como valores ARGB byte.

Retorna: O WriteableBitmap que foi passado como parâmetro.

FromByteArray
internal static WriteableBitmap FromByteArray(WriteableBitmap bmp, byte[] buffer, int count)
result = WriteableBitmapExtensions.FromByteArray(bmp, buffer, count)

Copia informações de cor de um array de bytes ARGB para este WriteableBitmap.

bmp
O WriteableBitmap.
count
O número de bytes a copiar do buffer.
buffer
O buffer de cor como valores ARGB byte.

Retorna: O WriteableBitmap que foi passado como parâmetro.

FromByteArray
internal static WriteableBitmap FromByteArray(WriteableBitmap bmp, byte[] buffer, int offset, int count)
result = WriteableBitmapExtensions.FromByteArray(bmp, buffer, offset, count)

Copia informações de cor de um array de bytes ARGB para este WriteableBitmap começando em um índice de buffer específico.

bmp
O WriteableBitmap.
offset
O índice inicial no buffer.
count
O número de bytes a copiar do buffer.
buffer
O buffer de cor como valores ARGB byte.

Retorna: O WriteableBitmap que foi passado como parâmetro.

FromContent
internal static WriteableBitmap FromContent(WriteableBitmap bmp, string relativePath)
result = WriteableBitmapExtensions.FromContent(bmp, relativePath)

Carrega uma imagem do conteúdo dos aplicativos e preenche isso WriteableBitmap com ela.

bmp
O WriteableBitmap.
relativePath
Apenas o caminho relativo para o arquivo de conteúdo.

Retorna: O WriteableBitmap que foi passado como parâmetro.

FromResource
internal static WriteableBitmap FromResource(WriteableBitmap bmp, string relativePath)
result = WriteableBitmapExtensions.FromResource(bmp, relativePath)

Carrega uma imagem do arquivo de recursos de aplicativos e preenche este WriteableBitmap com ele.

bmp
O WriteableBitmap.
relativePath
Apenas a localização relativa do ficheiro de recursos. O nome do conjunto é obtido automaticamente.

Retorna: O WriteableBitmap que foi passado como parâmetro.

GetBrightness
internal static byte GetBrightness(WriteableBitmap bmp, int x, int y)
result = WriteableBitmapExtensions.GetBrightness(bmp, x, y)

Obtém o brilho/luminância do pixel no x, y coordene como byte.

bmp
O WriteableBitmap.
x
A coordenada x do pixel.
y
A coordenada y do pixel.

Retorna: O brilho do pixel em x, y.

GetPixel
internal static Color GetPixel(WriteableBitmap bmp, int x, int y)
result = WriteableBitmapExtensions.GetPixel(bmp, x, y)

Obtém a cor do pixel na estrutura x, y como uma estrutura de cores. Para melhor desempenho, este método não deve ser usado em cenários iterativos em tempo real. Implemente o código diretamente dentro de um loop.

bmp
O WriteableBitmap.
x
A coordenada x do pixel.
y
A coordenada y do pixel.

Retorna: A cor do pixel em x, y como uma estrutura de cores.

GetPixeli
internal static int GetPixeli(WriteableBitmap bmp, int x, int y)
result = WriteableBitmapExtensions.GetPixeli(bmp, x, y)

Obtém a cor do pixel no x, y coordena como inteiro. Para melhor desempenho, este método não deve ser usado em cenários iterativos em tempo real. Implemente o código diretamente dentro de um loop.

bmp
O WriteableBitmap.
x
A coordenada x do pixel.
y
A coordenada y do pixel.

Retorna: A cor do pixel em x, y.

Invert
internal static WriteableBitmap Invert(WriteableBitmap bmp)
result = WriteableBitmapExtensions.Invert(bmp)

Cria um novo invertida WriteableBitmap e devolve- o.

bmp
O WriteableBitmap.

Retorna: O novo invertido WriteableBitmap.

Resize
internal static int[] Resize(BitmapContext srcContext, int widthSource, int heightSource, int width, int height, Interpolation interpolation)
result = WriteableBitmapExtensions.Resize(srcContext, widthSource, heightSource, width, height, interpolation)

Cria um novo mapa de bits redimensionado.

srcContext
O contexto da fonte.
widthSource
A largura dos pixels de origem.
heightSource
A altura dos pixels de origem.
width
A nova largura desejada.
height
A nova altura desejada.
interpolation
O método de interpolação que deve ser utilizado.

Retorna: Um novo bitmap que é uma versão redimensionada da entrada.

Resize
internal static WriteableBitmap Resize(WriteableBitmap bmp, int width, int height, Interpolation interpolation)
result = WriteableBitmapExtensions.Resize(bmp, width, height, interpolation)

Cria um novo redimensionamento WriteableBitmap.

bmp
O WriteableBitmap.
width
A nova largura desejada.
height
A nova altura desejada.
interpolation
O método de interpolação que deve ser utilizado.

Retorna: Uma nova WriteableBitmap que é uma versão redimensionada da entrada.

Rotate
internal static WriteableBitmap Rotate(WriteableBitmap bmp, int angle)
result = WriteableBitmapExtensions.Rotate(bmp, angle)

Roda o mapa de bits em 90° passos no sentido horário e retorna um novo rotacionado WriteableBitmap.

bmp
O WriteableBitmap.
angle
O ângulo em degresso do mapa de bits deve ser girado em 90° passos no sentido horário.

Retorna: Uma nova WriteableBitmap que é uma versão rotativa da entrada.

RotateFree
internal static WriteableBitmap RotateFree(WriteableBitmap bmp, double angle, bool crop)
result = WriteableBitmapExtensions.RotateFree(bmp, angle, crop)

Rotaciona o mapa de bits em qualquer grau retorna um novo rotacionado WriteableBitmap.

bmp
O WriteableBitmap.
angle
Ângulo arbitrário em 360 graus (positivo = sentido horário).
crop
se verdadeiro: manter o tamanho, false: ajustar a tela para o tamanho novo

Retorna: Uma nova WriteableBitmap que é uma versão rotativa da entrada.

SetPixel
internal static void SetPixel(WriteableBitmap bmp, int x, int y, int color)
WriteableBitmapExtensions.SetPixel(bmp, x, y, color)

Define a cor do pixel. Para melhor desempenho, este método não deve ser usado em cenários iterativos em tempo real. Implemente o código diretamente dentro de um loop.

bmp
O WriteableBitmap.
x
A coordenada x (linha).
y
A coordenada y (coluna).
color
A cor.
SetPixel
internal static void SetPixel(WriteableBitmap bmp, int x, int y, byte a, Color color)
WriteableBitmapExtensions.SetPixel(bmp, x, y, a, color)

Define a cor do pixel usando um valor alfa extra. Para melhor desempenho, este método não deve ser usado em cenários iterativos em tempo real. Implemente o código diretamente dentro de um loop.

bmp
O WriteableBitmap.
x
A coordenada x (linha).
y
A coordenada y (coluna).
a
O valor alfa da cor.
color
A cor.
SetPixel
internal static void SetPixel(WriteableBitmap bmp, int x, int y, Color color)
WriteableBitmapExtensions.SetPixel(bmp, x, y, color)

Define a cor do pixel. Para melhor desempenho, este método não deve ser usado em cenários iterativos em tempo real. Implemente o código diretamente dentro de um loop.

bmp
O WriteableBitmap.
x
A coordenada x (linha).
y
A coordenada y (coluna).
color
A cor.
SetPixel
internal static void SetPixel(WriteableBitmap bmp, int x, int y, byte a, byte r, byte g, byte b)
WriteableBitmapExtensions.SetPixel(bmp, x, y, a, r, g, b)

Define a cor do pixel, incluindo o valor alfa. Para melhor desempenho, este método não deve ser usado em cenários iterativos em tempo real. Implemente o código diretamente dentro de um loop.

bmp
O WriteableBitmap.
x
A coordenada x (linha).
y
A coordenada y (coluna).
a
O valor alfa da cor.
r
O valor vermelho da cor.
g
O valor verde da cor.
b
O valor azul da cor.
SetPixel
internal static void SetPixel(WriteableBitmap bmp, int x, int y, byte r, byte g, byte b)
WriteableBitmapExtensions.SetPixel(bmp, x, y, r, g, b)

Define a cor do pixel. Para melhor desempenho, este método não deve ser usado em cenários iterativos em tempo real. Implemente o código diretamente dentro de um loop.

bmp
O WriteableBitmap.
x
A coordenada x (linha).
y
A coordenada y (coluna).
r
O valor vermelho da cor.
g
O valor verde da cor.
b
O valor azul da cor.
SetPixeli
internal static void SetPixeli(WriteableBitmap bmp, int index, byte r, byte g, byte b)
WriteableBitmapExtensions.SetPixeli(bmp, index, r, g, b)

Define a cor do pixel usando um índice pré- calculado (mais rápido). Para melhor desempenho, este método não deve ser usado em cenários iterativos em tempo real. Implemente o código diretamente dentro de um loop.

bmp
O WriteableBitmap.
index
O índice de coordenadas.
r
O valor vermelho da cor.
g
O valor verde da cor.
b
O valor azul da cor.
SetPixeli
internal static void SetPixeli(WriteableBitmap bmp, int index, byte a, Color color)
WriteableBitmapExtensions.SetPixeli(bmp, index, a, color)

Define a cor do pixel usando um valor alfa extra e um índice pré- calculado (mais rápido). Para melhor desempenho, este método não deve ser usado em cenários iterativos em tempo real. Implemente o código diretamente dentro de um loop.

bmp
O WriteableBitmap.
index
O índice de coordenadas.
a
O valor alfa da cor.
color
A cor.
SetPixeli
internal static void SetPixeli(WriteableBitmap bmp, int index, byte a, byte r, byte g, byte b)
WriteableBitmapExtensions.SetPixeli(bmp, index, a, r, g, b)

Define a cor do pixel, incluindo o valor alfa e usando um índice pré- calculado (mais rápido). Para melhor desempenho, este método não deve ser usado em cenários iterativos em tempo real. Implemente o código diretamente dentro de um loop.

bmp
O WriteableBitmap.
index
O índice de coordenadas.
a
O valor alfa da cor.
r
O valor vermelho da cor.
g
O valor verde da cor.
b
O valor azul da cor.
SetPixeli
internal static void SetPixeli(WriteableBitmap bmp, int index, Color color)
WriteableBitmapExtensions.SetPixeli(bmp, index, color)

Define a cor do pixel usando um índice pré- calculado (mais rápido). Para melhor desempenho, este método não deve ser usado em cenários iterativos em tempo real. Implemente o código diretamente dentro de um loop.

bmp
O WriteableBitmap.
index
O índice de coordenadas.
color
A cor.
SetPixeli
internal static void SetPixeli(WriteableBitmap bmp, int index, int color)
WriteableBitmapExtensions.SetPixeli(bmp, index, color)

Define a cor do pixel usando um índice pré- calculado (mais rápido). Para melhor desempenho, este método não deve ser usado em cenários iterativos em tempo real. Implemente o código diretamente dentro de um loop.

bmp
O WriteableBitmap.
index
O índice de coordenadas.
color
A cor.
ToByteArray
internal static byte[] ToByteArray(WriteableBitmap bmp, int count)
result = WriteableBitmapExtensions.ToByteArray(bmp, count)

Copia os Pixels do WriteableBitmap em um array de byte ARGB.

bmp
O WriteableBitmap.
count
O número de pixels a copiar.

Retorna: O buffer de cor como valores ARGB byte.

ToByteArray
internal static byte[] ToByteArray(WriteableBitmap bmp)
result = WriteableBitmapExtensions.ToByteArray(bmp)

Copia todos os Pixels do WriteableBitmap em um array de bytes ARGB.

bmp
O WriteableBitmap.

Retorna: O buffer de cor como valores ARGB byte.

ToByteArray
internal static byte[] ToByteArray(WriteableBitmap bmp, int offset, int count)
result = WriteableBitmapExtensions.ToByteArray(bmp, offset, count)

Copia os Pixels do WriteableBitmap em um array de byte ARGB começando em um índice de Pixels específico.

bmp
O WriteableBitmap.
offset
O índice de Pixels inicial.
count
O número de Pixels a copiar, -1 para todos

Retorna: O buffer de cor como valores ARGB byte.

WriteTga
internal static void WriteTga(WriteableBitmap bmp, Stream destination)
WriteableBitmapExtensions.WriteTga(bmp, destination)

Escreve a WriteableBitmap como uma imagem TGA para um fluxo. Usado com permissão de Nokola: http://nokola.com/blog/post/2010/01/21/Quick-and-Dirty-Output-of-WriteableBitmap-as-TGA-Image.aspx

bmp
O WriteableBitmap.
destination
O fluxo de destino.

Campos

INSIDE
private const byte INSIDE
value = WriteableBitmapExtensions.INSIDE

Bitfields usados para particionar o espaço em 9 regionalizados

KernelGaussianBlur3x3
internal static int[] KernelGaussianBlur3x3
value = WriteableBitmapExtensions.KernelGaussianBlur3x3

kernel de borrão gaussiano com o tamanho 3x3

KernelGaussianBlur5x5
internal static int[] KernelGaussianBlur5x5
value = WriteableBitmapExtensions.KernelGaussianBlur5x5

kernel de borrão gaussiano com o tamanho 5x5

KernelSharpen3x3
internal static int[] KernelSharpen3x3
value = WriteableBitmapExtensions.KernelSharpen3x3

Afiar o kernel com o tamanho 3x3