WriteableBitmapExtensions
Colecção de métodos de extensão de desenho para a classe Silverlight WriteableBitmap.
Métodos
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
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)
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.
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.
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.
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.
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.
internal static void Clear(WriteableBitmap bmp)
WriteableBitmapExtensions.Clear(bmp)
Preenche o todo WriteableBitmap com uma cor vazia (0).
- bmp
- O WriteableBitmap.
internal static WriteableBitmap Clone(WriteableBitmap bmp)
result = WriteableBitmapExtensions.Clone(bmp)
Clone o especificado WriteableBitmap.
- bmp
- O WriteableBitmap.
Retorna: Uma cópia do WriteableBitmap.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
private const byte INSIDE
value = WriteableBitmapExtensions.INSIDE
Bitfields usados para particionar o espaço em 9 regionalizados
internal static int[] KernelGaussianBlur3x3
value = WriteableBitmapExtensions.KernelGaussianBlur3x3
kernel de borrão gaussiano com o tamanho 3x3
internal static int[] KernelGaussianBlur5x5
value = WriteableBitmapExtensions.KernelGaussianBlur5x5
kernel de borrão gaussiano com o tamanho 5x5
internal static int[] KernelSharpen3x3
value = WriteableBitmapExtensions.KernelSharpen3x3
Afiar o kernel com o tamanho 3x3