Sign in Join
Wiki copytemporary

BGRAControls/pt: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## Resumo
22
33**Autores:**
44
55Dibo (mantenedor do pacote, TBGRAImageList, TBGRASpeedButton, TBGRAButton, TBGRAPanel)
66
77Circular (TBGRAKnob, TBGRAFlashProgressBar, TBGRAVirtualScreen)
88
99Emerson Cavalcanti (TBGRAImageManipulation)
1010
1111Lainz (TBGRAImageButton)
1212
1313**Licença:** Modified LGPL.
1414
1515Como muitas pessoas sabem, Lazarus GTK não tem suporte completo a canal alfa. Eu criei um conjunto de componentes que utilizam TBGRABitmap para desenhar ícones, de modo que resolve-se parcialmente o problema com os alfa em GTK. Mas este conjunto de componentes não é apenas um patch do GTK, mas possue mais componentes legais que estão usando o poder do pacote BGRABitmap.
1616
1717## Artigos Relacionados
1818
1919[[BGRAButton Gallery]] - Galeria de botões com código fonte para utilizar em seus projetos com BGRAButton.
2020
2121# Install
2222
2323### Download BGRABitmap
2424
2525Install BGRABitmap with the file bgrabitmappack.lpk.
2626
2727GitHub: <https://github.com/bgrabitmap/lazpaint/>
2828
2929### Download BGRAControls
3030
3131Install BGRAControls with the file bgracontrols.lpk.
3232
3333GitHub: <https://github.com/bgrabitmap/bgracontrols/>
3434
3535## Usando
3636
3737Coloque um TBGRAImageList ou TBGRASpeedButton da paleta "BGRA Controls" e utilize como um componente normal. Exemplo: Adicionar ícones, coloqye TToolBar e associe BGRAImageList na barra de ferramentas. Imagens propriedade no inspetor de objetos.
3838
3939## TBGRAImageList
4040
4141**Antes:**
4242
43-<figure>
44-<img src="before-TImageList.png" title="before-TImageList.png" />
45-<figcaption>before-TImageList.png</figcaption>
46-</figure>
43+![](/wiki-images/a/ac/Before-TImageList.png)
4744
4845**Depois:**
4946
50-<figure>
51-<img src="after-TBGRAImageList.png" title="after-TBGRAImageList.png" />
52-<figcaption>after-TBGRAImageList.png</figcaption>
53-</figure>
47+![](/wiki-images/1/1f/After-TBGRAImageList.png)
5448
5549Componente herdado de TImageList. Assim, qualquer controle (testado em TToolBar e TTreeView) que utiliza o método TImageList. O método para desenhar ícones automaticamente pode ter apoio a alfa (transparência). Basta usar esse componente em vez de TImageList. Esse componente foi escrito para permitir alfa GTK, por isso no Windows (e em outras interfaces) ele funcionam normalmente como TImageList (ele não usa BGRABitmap para desenhar).
5650
5751## TBGRASpeedButton
5852
59-<figure>
60-<img src="BGRASpeedButton.png" title="BGRASpeedButton.png" />
61-<figcaption>BGRASpeedButton.png</figcaption>
62-</figure>
53+![](/wiki-images/e/e9/BGRASpeedButton.png)
6354
6455Componente herdado do TSpeedButton e que desenha o glifo usando TBGRABitmap. Este componente foi escrito para habilitar GTK alpha, por isto no Windows (e outras interfaces) ele funciona normalmente como TImageList (este não usa BGRABitmap para desenhar).
6556
6657## TBGRAButton
6758
68-<figure>
69-<img src="bgrabutton.png" title="bgrabutton.png" />
70-<figcaption>bgrabutton.png</figcaption>
71-</figure>
59+![](/wiki-images/9/96/Bgrabutton.png)
7260
7361Componente gráfico customizável que utiliza apenas funções BGRABitmap para o desenho. Este componente é insensível para a chave -dGTK_ONLY. Projeto Demo incluído no pacote.
7462
7563Funcionalidades:
7664
7765- Gradientes
7866- Gradients duplos
7967- Arredondamento
8068- Estilo das bordas, espessura e cor
8169- Lista Drop down
8270- Grifo
8371- Estados (normal, sobre, clicado)
8472- Legenda com sombra
8573- Suporte total a canal alfa (transparência) e suporte antialias
8674- Pode trabalhar como uma imagem se nenhuma legenda é definida (não tem nenhuma função de esticar até o momento)
8775
8876**À fazer:**
8977
9078Eu queria adicionar a funcionalidade de "container" (como o TPanel) para este mesmo componente poder ser usado como uma barra de ferramentas com filhos, mas TCustomControl não tem transparência.
9179
9280Eu criei uma tarefa para esta questão no fórum: <http://www.lazarus.freepascal.org/index.php/topic,12933.0.html>
9381
9482E uma lista de email: <http://lists.lazarus.freepascal.org/pipermail/lazarus/2011-April/062683.html>
9583
9684Eu tentei reportar isto como um bug. Em vez disso, eu criei TBGRAPanel com uma funcionalidade de gradiente semelhante (mas muito limitada).
9785
9886## TBGRAPanel
9987
10088Simples descendente de TPanel com possibilidade de fundo com gradiente. Criado especialmente para TBGRAButton (para criar uma barra de ferramentas com visual agradável para bgrabuttons). Este componente é insensível para a chave -dGTK_ONLY.
10189
10290## TBGRAFlashProgressBar
10391
104-<figure>
105-<img src="BC-Bgraflashprogressbar.png" title="BC-Bgraflashprogressbar.png" />
106-<figcaption>BC-Bgraflashprogressbar.png</figcaption>
107-</figure>
92+![](/wiki-images/0/0b/BC-Bgraflashprogressbar.png)
10893
10994Barra de progresso criada por circular.
11095
11196## TBGRAImageManipulation
11297
11398Componente para facilitar a importação de imagens em um aplicativo.
11499
115100Na versão atual você pode importar uma imagem e cortar mantendo a proporção (ou não). Por exemplo, se você deseja importar fotos usando a proporção 3x4, ajuste a propriedade 'ratio' para 3:4. Se importar uma imagem com tamanho diferente, o componente irá garantir que a imagem cumpra as proporções das dimensões desejadas.
116101
117102Você pode determinar as dimensões mínimas da imagem ajustando as propriedades 'MinWidth' e 'MinHeight'.
118103
119104Você pode girar a imagem usando funções embutidas.
120105
121106Veja o demo do componente:
122107
123-<figure>
124-<img src="bgraimagemanipulation.jpg" title="bgraimagemanipulation.jpg" />
125-<figcaption>bgraimagemanipulation.jpg</figcaption>
126-</figure>
108+![](/wiki-images/6/60/Bgraimagemanipulation.jpg)
127109
128110Após recuperar a imagem modificada pelo componente, simplesmente coloque em seu destino usando o esticamento. É óbvio que o destino deve ter a mesma razão de aspecto do componente para não distorcer o resultado final.
129111
130112## TBGRAImageButton
131113
132-<figure>
133-<img src="bgraimagebutton.png" title="bgraimagebutton.png" />
134-<figcaption>bgraimagebutton.png</figcaption>
135-</figure>
114+![](/wiki-images/1/11/Bgraimagebutton.png)
136115
137116Componente usado para criar um botão com 4 estados a partir de um Bitmap.
138117
139118O bitmap precisa conter os 4 estados (a partir do topo até embaixo, com a mesma altura) na seguinte ordem: normal, dentro, pressionado, desabilitado.
140119
141120*Botão de Exemplo:*
142121
143-<figure>
144-<img src="samplebgraimagebutton.png" title="samplebgraimagebutton.png" />
145-<figcaption>samplebgraimagebutton.png</figcaption>
146-</figure>
122+![](/wiki-images/2/29/Samplebgraimagebutton.png)
147123
148124*Botão de Exemplo (com canal alfa (Transparência)):*
149125
150-<figure>
151-<img src="samplebgraimagebuttonalpha.png" title="samplebgraimagebuttonalpha.png" />
152-<figcaption>samplebgraimagebuttonalpha.png</figcaption>
153-</figure>
126+![](/wiki-images/b/b9/Samplebgraimagebuttonalpha.png)
154127
155128## TBGRAVirtualScreen
156129
157130O princípio é desenhar num bitmap em memória.
158131
159132O componente tem um evento específico, OnRedraw, que é chamado quando o bitmap precisa ser inteiramente redesenhado. Isso acontece no início, quando ocorrer redimensionamento e quando o método Redraw é chamado.
160133
161134Caso contrário, é possível modificar a propriedade Bitmap e chamar Invalidate ou Repaint, para evitar apagar todo o conteúdo de bitmap.
162135
163136---
164137*From the Free Pascal wiki, page "BGRAControls/pt", as it stood on 2016-10-07 after a change by 007, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
165138Category: Components/pt

Back to history