Difference between revisions of "BGRABitmap tutorial 6/es"
(New page: {{BGRABitmap_tutorial_6}} {{BGRABitmap_tutorial_index/es}} Este tutorial muestra como usar diferentes tipos de líneas y figuras. === Crear un nuevo proyecto === Crea un nuevo proyecto...) |
(→Añade un manejador de pintado: auto-convert color types) |
||
(6 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | {{BGRABitmap_tutorial_6}} | + | {{BGRABitmap_tutorial_6}}[[category:Castellano|C]][[category:Español|C]] |
{{BGRABitmap_tutorial_index/es}} | {{BGRABitmap_tutorial_index/es}} | ||
− | + | Esta tutoría muestra como usar diferentes tipos de líneas y figuras. | |
=== Crear un nuevo proyecto === | === Crear un nuevo proyecto === | ||
− | Crea un nuevo proyecto y añade referencia a [[BGRABitmap]], de la misma forma que en | + | Crea un nuevo proyecto y añade referencia a [[BGRABitmap]], de la misma forma que en [[BGRABitmap tutorial/es|la primer tutoría]]. |
=== Añade un manejador de pintado === | === Añade un manejador de pintado === | ||
Con el inspector de objetos, añade un manejador OnPaint y escribe : | Con el inspector de objetos, añade un manejador OnPaint y escribe : | ||
− | < | + | <syntaxhighlight lang="pascal">procedure TForm1.FormPaint(Sender: TObject); |
var image: TBGRABitmap; | var image: TBGRABitmap; | ||
c: TBGRAPixel; | c: TBGRAPixel; | ||
begin | begin | ||
− | image := TBGRABitmap.Create(ClientWidth,ClientHeight, | + | image := TBGRABitmap.Create(ClientWidth, ClientHeight, clBtnFace); |
− | c := | + | c := clWindowText; |
− | image.RectangleAntialias(80,80,300,200,c,50); | + | image.RectangleAntialias(80,80,300,200, c, 50); |
image.Draw(Canvas,0,0,True); | image.Draw(Canvas,0,0,True); | ||
image.free; | image.free; | ||
− | end;</ | + | end;</syntaxhighlight> |
=== Ejecuta el programa === | === Ejecuta el programa === | ||
Line 34: | Line 34: | ||
Si desea esquinas redondeadas, puede especificar: | Si desea esquinas redondeadas, puede especificar: | ||
− | < | + | <syntaxhighlight lang="pascal"> image.JoinStyle := pjsRound;</syntaxhighlight> |
=== Ejecuta el programa === | === Ejecuta el programa === | ||
Line 45: | Line 45: | ||
Usted puede mezclar estilos de unión en un rectángulo como este: | Usted puede mezclar estilos de unión en un rectángulo como este: | ||
− | < | + | <syntaxhighlight lang="pascal"> image.FillRoundRectAntialias(80,80,300,200, 20,20, c, [rrTopRightSquare,rrBottomLeftSquare]); |
− | </ | + | </syntaxhighlight> |
Esta función utiliza esquinas redondeadas de forma predeterminada, pero se puede reemplazar con esquinas rectas o curvas bisel. Usted debe obtener la siguiente imagen. | Esta función utiliza esquinas redondeadas de forma predeterminada, pero se puede reemplazar con esquinas rectas o curvas bisel. Usted debe obtener la siguiente imagen. | ||
Line 55: | Line 55: | ||
Usted puede dibujar una línea de puntos así: | Usted puede dibujar una línea de puntos así: | ||
− | < | + | <syntaxhighlight lang="pascal"> image.JoinStyle := pjsBevel; |
image.PenStyle := psDot; | image.PenStyle := psDot; | ||
image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10); | image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10); | ||
− | </ | + | </syntaxhighlight> |
Usted debe obtener la siguiente imagen. Observe que la línea comienza con una tapa redonda. | Usted debe obtener la siguiente imagen. Observe que la línea comienza con una tapa redonda. | ||
Line 68: | Line 68: | ||
Puede dibujar una polilínea con una tapa cuadrada de esta manera: | Puede dibujar una polilínea con una tapa cuadrada de esta manera: | ||
− | < | + | <syntaxhighlight lang="pascal"> image.JoinStyle := pjsBevel; |
image.LineCap := pecSquare; | image.LineCap := pecSquare; | ||
image.PenStyle := psSolid; | image.PenStyle := psSolid; | ||
image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10); | image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10); | ||
− | </ | + | </syntaxhighlight> |
[[Image:BGRATutorial6d.png]] | [[Image:BGRATutorial6d.png]] | ||
Line 80: | Line 80: | ||
Usted puede dibujar una línea que se abre, es decir, el final de la línea se completa en el interior. | Usted puede dibujar una línea que se abre, es decir, el final de la línea se completa en el interior. | ||
− | < | + | <syntaxhighlight lang="pascal"> image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10,False);</syntaxhighlight> |
[[Image:BGRATutorial6f.png]] | [[Image:BGRATutorial6f.png]] | ||
De esta manera usted puede conectar líneas, uno tras otro sin llamar la unión en dos ocasiones, lo cual es útil con el dibujo semi-transparente. Se puede comparar la siguiente manera: | De esta manera usted puede conectar líneas, uno tras otro sin llamar la unión en dos ocasiones, lo cual es útil con el dibujo semi-transparente. Se puede comparar la siguiente manera: | ||
− | < | + | <syntaxhighlight lang="pascal"> c := BGRA(0,0,0,128); |
image.DrawLineAntialias(40,150, 120,50, c, 10); | image.DrawLineAntialias(40,150, 120,50, c, 10); | ||
Line 92: | Line 92: | ||
image.DrawLineAntialias(40,250, 120,150, c, 10, False); | image.DrawLineAntialias(40,250, 120,150, c, 10, False); | ||
image.DrawLineAntialias(120,150, 170,190, c, 10, False); | image.DrawLineAntialias(120,150, 170,190, c, 10, False); | ||
− | image.DrawLineAntialias(170,190, 250,110, c, 10, True);</ | + | image.DrawLineAntialias(170,190, 250,110, c, 10, True);</syntaxhighlight> |
[[Image:Tutorial6g.png]] | [[Image:Tutorial6g.png]] | ||
− | [[BGRABitmap tutorial 5/es| | + | [[BGRABitmap tutorial 5/es|Tutoría anterior (capas y máscaras)]] | [[BGRABitmap tutorial 7/es|Siguiente tutoría (splines)]] |
− | |||
− |
Latest revision as of 09:44, 15 February 2024
│ Deutsch (de) │ English (en) │ español (es) │ français (fr) │
Home | Tutorial 1 | Tutorial 2 | Tutorial 3 | Tutorial 4 | Tutorial 5 | Tutorial 6 | Tutorial 7 | Tutorial 8 | Tutorial 9 | Tutorial 10 | Tutorial 11 | Tutorial 12 | Edit
Esta tutoría muestra como usar diferentes tipos de líneas y figuras.
Crear un nuevo proyecto
Crea un nuevo proyecto y añade referencia a BGRABitmap, de la misma forma que en la primer tutoría.
Añade un manejador de pintado
Con el inspector de objetos, añade un manejador OnPaint y escribe :
procedure TForm1.FormPaint(Sender: TObject);
var image: TBGRABitmap;
c: TBGRAPixel;
begin
image := TBGRABitmap.Create(ClientWidth, ClientHeight, clBtnFace);
c := clWindowText;
image.RectangleAntialias(80,80,300,200, c, 50);
image.Draw(Canvas,0,0,True);
image.free;
end;
Ejecuta el programa
Esto debe dibujar un rectángulo con un lápiz negro ancho.
Cambiar estilo de unión
Si desea esquinas redondeadas, puede especificar:
image.JoinStyle := pjsRound;
Ejecuta el programa
Esto debe dibujar un rectángulo con un lápiz negro ancho con esquinas redondeadas.
Mezclar estilos de unión
Usted puede mezclar estilos de unión en un rectángulo como este:
image.FillRoundRectAntialias(80,80,300,200, 20,20, c, [rrTopRightSquare,rrBottomLeftSquare]);
Esta función utiliza esquinas redondeadas de forma predeterminada, pero se puede reemplazar con esquinas rectas o curvas bisel. Usted debe obtener la siguiente imagen.
Cambiar el estilo de la pluma
Usted puede dibujar una línea de puntos así:
image.JoinStyle := pjsBevel;
image.PenStyle := psDot;
image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10);
Usted debe obtener la siguiente imagen. Observe que la línea comienza con una tapa redonda.
Cambio extremo de línea
Puede dibujar una polilínea con una tapa cuadrada de esta manera:
image.JoinStyle := pjsBevel;
image.LineCap := pecSquare;
image.PenStyle := psSolid;
image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10);
Dibujo de línea abierta
Usted puede dibujar una línea que se abre, es decir, el final de la línea se completa en el interior.
image.DrawPolyLineAntialias([PointF(40,200), PointF(120,100), PointF(170,140), PointF(250,60)],c,10,False);
De esta manera usted puede conectar líneas, uno tras otro sin llamar la unión en dos ocasiones, lo cual es útil con el dibujo semi-transparente. Se puede comparar la siguiente manera:
c := BGRA(0,0,0,128);
image.DrawLineAntialias(40,150, 120,50, c, 10);
image.DrawLineAntialias(120,50, 170,90, c, 10);
image.DrawLineAntialias(170,90, 250,10, c, 10);
image.DrawLineAntialias(40,250, 120,150, c, 10, False);
image.DrawLineAntialias(120,150, 170,190, c, 10, False);
image.DrawLineAntialias(170,190, 250,110, c, 10, True);
Tutoría anterior (capas y máscaras) | Siguiente tutoría (splines)