bitmap , bmtoa, atobm - editor de bitmap e utilitários conversores para o X Window System
bitmap [ -options . . . ] [ filename ] [ basename ]
bmtoa [ -chars . . . ] [ filename ]
atobm [ -chars cc ] [ -name variable ] [ -xhot number ] [ -yhot number ] [ filename ]
O programa bitmap é uma ferramenta rudimentar para criar ou editar imagens retangulares compostas por 1s e 0s. Os bitmaps são usados no X para definir regiões de recorte, formas de cursor, formas de ícone e padrões de mosaico e pontilhado.
Os filtros bmtoa e atobm convertem arquivos bitmap (FILE FORMAT) de e para strings ASCII. Eles são mais comumente usados para imprimir rapidamente bitmaps e gerar versões para incluir no texto.
Bitmap suporta os argumentos de linha de comando padrão do X Toolkit (consulte X(7)). Os seguintes argumentos adicionais também são suportados.
Especifica o tamanho da grade em quadrados.
Especifica a largura dos quadrados em pixels.
Especifica a altura dos quadrados em pixels.
Tolerância de rede. Se as dimensões do quadrado ficarem abaixo do valor especificado, a grade será desativada automaticamente.
Ativa ou desativa as linhas de grade.
Ativa ou desativa os eixos principais.
Ativa ou desativa o traço para o quadro e as linhas de grade.
Ativa ou desativa o pontilhado de quadrados realçados.
Ativa ou desativa o modo proporcional. Se o modo proporcional estiver ativado, a largura do quadrado é igual à altura do quadrado. Se o modo proporcional estiver desativado, bitmap usará a dimensão quadrada menor, se inicialmente forem diferentes.
Especifica o bitmap a ser usado como pontilhado para traço.
Especifica o bitmap a ser usado como pontilhado para realce.
Especifica a cor usada para realçar.
Especifica a cor usada para o quadro e as linhas de grade.
Especifica o bitmap a ser carregado inicialmente no programa. Se o arquivo não existir, bitmap assumirá que é um novo arquivo.
Especifica o nome base a ser usado no arquivo de saída do código C. Se for diferente do nome de base no arquivo de trabalho, bitmap irá alterá-lo ao salvar o arquivo.
Bmtoa aceita a seguinte opção:
Esta opção especifica o par de caracteres a ser usado na versão de string do bitmap. O primeiro caractere é usado para 0 bits e o segundo caractere é usado para 1 bits. O padrão é usar traços (-) para 0s e sustenidos (#) para 1s.
Atobm aceita as seguintes opções:
Esta opção especifica o par de caracteres a ser usado ao converter bitmaps de cadeia de caracteres em matrizes de números. O primeiro caractere representa um bit 0 e o segundo caractere representa um bit 1. O padrão é usar traços (-) para 0s e sustenidos (#) para 1s.
Esta opção especifica o nome da variável a ser usada ao gravar o arquivo bitmap. O padrão é usar o nome base do argumento da linha de comando nome do arquivo ou deixá-lo em branco se a entrada padrão for lida.
Esta opção especifica a coordenada X do ponto de acesso. Somente valores positivos são permitidos. Por padrão, nenhuma informação de ponto de acesso é incluída.
Esta opção especifica a coordenada Y do ponto de acesso. Somente valores positivos são permitidos. Por padrão, nenhuma informação de ponto de acesso é incluída.
Bitmap exibe uma grade na qual cada quadrado representa um único bit na imagem que está sendo editada. O tamanho real da imagem bitmap, como ela apareceria normalmente e invertida, pode ser obtido pressionando a tecla Meta-I. Você está livre para mover o pop-up de imagem para continuar editando. Pressionar o botão esquerdo do mouse na janela pop-up ou Meta-I novamente removerá a imagem bitmap em tamanho real.
Se o bitmap for usado para definir um cursor, um dos quadrados nas imagens pode ser designado como ponto de acesso. Isso determina para onde o cursor está realmente apontando. Para cursores com pontas afiadas (como setas ou dedos), geralmente fica no final da ponta; para cursores simétricos (como cruzes ou alvos), geralmente fica no centro.
Os bitmaps são armazenados como pequenos fragmentos de código C adequados para inclusão em aplicativos. Eles fornecem uma matriz de bits, bem como constantes simbólicas, fornecendo largura, altura e ponto de acesso (se especificado) que podem ser usados na criação de cursores, ícones e blocos.
Para editar uma imagem bitmap, basta clicar em um dos botões com comandos de desenho (Ponto, Curva, Linha, Retângulo, etc.) e mover o ponteiro para a janela de grade do bitmap. Pressione um dos botões do mouse e a ação apropriada ocorrerá. Você pode definir, limpar ou inverter os quadrados da grade. Definir um quadrado de grade corresponde a definir um bit na imagem de bitmap para 1. Limpar um quadrado de grade corresponde a definir um bit na imagem de bitmap para 0. Inverter um quadrado de grade corresponde a alterar um bit na imagem de bitmap de 0 para 1 ou 1 a 0, dependendo de qual era seu estado anterior. O comportamento padrão dos botões do mouse é especificado abaixo.
MouseButton1 Set
MouseButton2 Invert
MouseButton3 Clear
MouseButton4 Clear
MouseButton5 ClearEsse comportamento padrão pode ser alterado configurando os recursos de função do botão. Um exemplo é fornecido abaixo.
bitmap*button1Function: Set
bitmap*button2Function: Clear
bitmap*button3Function: Invert
etc.A função do botão se aplica a todos os comandos de desenho, incluindo copiar, mover e colar, preencher e definir o ponto de acesso.
Aqui está a lista de comandos de desenho acessíveis através dos botões do lado esquerdo da janela do aplicativo. Alguns comandos podem ser interrompidos pressionando A dentro da janela de bitmap, permitindo que o usuário selecione diferentes pontos de orientação quando aplicável.
Este comando limpa todos os bits na imagem bitmap. Os quadrados da grade serão definidos com a cor de fundo. Pressionar C dentro da janela de bitmap tem o mesmo efeito.
Este comando define todos os bits na imagem bitmap. Os quadrados da grade serão definidos com a cor de primeiro plano. Pressionar S dentro da janela de bitmap tem o mesmo efeito.
Este comando inverte todos os bits na imagem bitmap. Os quadrados da grade serão invertidos apropriadamente. Pressionar I dentro da janela de bitmap tem o mesmo efeito.
Este comando é usado para marcar uma área da grade arrastando uma forma retangular na cor de destaque. Depois que a área é marcada, ela pode ser operada por vários comandos (consulte Para cima, Para baixo, Esquerda, Direita, Girar, Virar, Cortar, etc.) Apenas uma área marcada pode estar presente em a qualquer momento. Se você tentar marcar outra área, a marca anterior desaparecerá. O mesmo efeito pode ser obtido pressionando Shift-MouseButton1 e arrastando um retângulo na janela de grade. Pressionar Shift-MouseButton2 marcará toda a área da grade.
Este comando fará com que a área marcada desapareça. O mesmo efeito pode ser obtido pressionando Shift-MouseButton3.
Este comando é usado para copiar uma área da grade de um local para outro. Se não houver nenhuma área de grade marcada exibida, Copiar se comporta exatamente como Marcar descrito acima. Assim que houver uma área de grade marcada exibida na cor de destaque, este comando tem dois comportamentos alternativos. Se você clicar com o botão do mouse dentro da área marcada, poderá arrastar o retângulo que representa a área marcada para o local desejado. Depois de soltar o botão do mouse, a área será copiada. Se você clicar fora da área marcada, Copiar assumirá que você deseja marcar uma região diferente da imagem bitmap, portanto, ela se comportará como Marcar novamente.
Este comando é usado para mover uma área da grade de um local para outro. Seu comportamento se assemelha ao comportamento do comando Copiar, exceto que a área marcada será movida em vez de copiada.
Este comando irá inverter a imagem bitmap em relação aos eixos horizontais. Se uma área marcada da grade estiver destacada, ela funcionará apenas dentro da área marcada. Pressionar H dentro da janela de bitmap tem o mesmo efeito.
Este comando move a imagem bitmap um pixel para cima. Se uma área marcada da grade estiver destacada, ela funcionará apenas dentro da área marcada. Pressionar seta para cima dentro da janela de bitmap tem o mesmo efeito.
Este comando irá inverter a imagem bitmap em relação aos eixos verticais. Se uma área marcada da grade estiver destacada, ela funcionará apenas dentro da área marcada. Pressionar V dentro da janela de bitmap tem o mesmo efeito.
Este comando move a imagem bitmap um pixel para a esquerda. Se uma área marcada da grade estiver destacada, ela funcionará apenas dentro da área marcada. Pressionar LeftArrow dentro da janela de bitmap tem o mesmo efeito.
Este comando dobrará a imagem bitmap de forma que os cantos opostos fiquem adjacentes. Isso é útil ao criar imagens de bitmap para mosaico. Pressionar F dentro da janela de bitmap tem o mesmo efeito.
Este comando move a imagem bitmap um pixel para a direita. Se uma área marcada da grade estiver destacada, ela funcionará apenas dentro da área marcada. Pressionar RightArrow dentro da janela de bitmap tem o mesmo efeito.
Este comando gira a imagem bitmap 90 graus para a esquerda (sentido anti-horário). Se uma área marcada da grade for destacada, ela funcionará apenas dentro da área marcada. Pressionar L dentro da janela de bitmap tem o mesmo efeito.
Este comando move a imagem bitmap um pixel para baixo. Se uma área marcada da grade estiver destacada, ela funcionará apenas dentro da área marcada. Pressionar DownArrow dentro da janela de bitmap tem o mesmo efeito.
Este comando gira a imagem de bitmap 90 graus para a direita (no sentido horário). Se uma área marcada da grade for realçada, ela funcionará apenas dentro da área marcada. Pressionar R dentro da janela de bitmap tem o mesmo efeito.
Este comando mudará os quadrados da grade sob o ponteiro do mouse se um botão do mouse estiver sendo pressionado. Se você arrastar o botão do mouse continuamente, a linha pode não ser contínua, dependendo da velocidade do seu sistema e da frequência dos eventos de movimento do mouse.
Este comando mudará os quadrados da grade sob o ponteiro do mouse se um botão do mouse estiver sendo pressionado. Se você arrastar o botão do mouse continuamente, isso garantirá que a linha seja contínua. Se o seu sistema for lento ou bitmap receber muito poucos eventos de movimento do mouse, ele pode se comportar de maneira bastante estranha.
Este comando mudará os quadrados da grade em uma linha entre dois quadrados. Assim que você pressionar um botão do mouse na janela de grade, bitmap destacará a linha do quadrado onde o botão do mouse foi pressionado inicialmente até o quadrado onde o ponteiro do mouse está localizado. Ao soltar o botão do mouse, você fará com que a alteração entre em vigor e a linha destacada desaparecerá.
Este comando mudará os quadrados da cinta em um retângulo entre dois quadrados. Depois de pressionar um botão do mouse na janela de grade, bitmap destacará o retângulo do quadrado onde o botão do mouse foi pressionado inicialmente até o quadrado onde o ponteiro do mouse está localizado. Ao soltar o botão do mouse, você fará com que a alteração entre em vigor e o retângulo destacado desaparecerá.
Este comando é idêntico ao Retângulo, exceto que no final o retângulo será preenchido em vez de contornado.
Este comando mudará os quadrados da cinta em um círculo entre dois quadrados. Depois de pressionar um botão do mouse na janela de grade, bitmap destacará o círculo do quadrado onde o botão do mouse foi pressionado inicialmente até o quadrado onde o ponteiro do mouse está localizado. Ao soltar o botão do mouse, você fará com que a alteração entre em vigor e o círculo destacado desaparecerá.
Este comando é idêntico ao Círculo, exceto que no final o círculo será preenchido em vez de contornado.
Este comando irá preencher a área conectada abaixo do ponteiro do mouse quando você clicar no quadrado desejado. Quadrados diagonalmente adjacentes não são considerados conectados.
Este comando designa um quadrado na grade como o ponto de acesso se esta imagem bitmap for usada para definir um cursor. Pressionar um botão do mouse no quadrado desejado fará com que uma forma de diamante seja exibida.
Este comando remove qualquer ponto de acesso designado da imagem bitmap.
Este comando irá desfazer o último comando executado. Tem profundidade um, ou seja, pressionando Desfazer após Desfazer irá se desfazer.
Os comandos do menu Arquivo podem ser acessados pressionando o botão Arquivo e selecionando a entrada de menu apropriada ou pressionando a tecla Ctrl com outra tecla. Esses comandos lidam com arquivos e parâmetros globais de bitmap, como tamanho, nome de base, nome de arquivo, etc.
Este comando limpará a área de edição e solicitará o nome do novo arquivo a ser editado. Ele não será carregado no novo arquivo.
Este comando é usado para carregar um novo arquivo de bitmap no editor de bitmap. Se a imagem atual não tiver sido salva, será perguntado ao usuário se deseja salvar ou ignorar as alterações. O editor pode editar apenas um arquivo por vez. Se você precisar de edição interativa, execute vários editores e use o mecanismo recortar e colar conforme descrito abaixo.
Este comando é usado para inserir um arquivo bitmap na imagem que está sendo editada. Depois de ser solicitado o nome do arquivo, clique dentro da janela de grade e arraste o retângulo contornado para o local onde deseja inserir o novo arquivo.
Este comando salvará a imagem bitmap. Ele não solicitará o nome do arquivo, a menos que seja
Este comando salvará a imagem bitmap após solicitar um novo nome de arquivo. Deve ser usado se você quiser alterar o nome do arquivo.
Este comando é usado para redimensionar a área de edição para o novo número de pixels. O tamanho deve ser inserido no formato WIDTHxHEIGHT. As informações na imagem que está sendo editada não serão perdidas, a menos que o novo tamanho seja menor que o tamanho da imagem atual. O editor não foi projetado para editar arquivos enormes.
Este comando é usado para redimensionar a área de edição para a nova largura e altura. O tamanho deve ser inserido no formato WIDTHxHEIGHT. Ele não fará suavização e as informações serão perdidas se você redimensionar para tamanhos menores. Sinta-se à vontade para adicionar seus próprios algoritmos para melhor redimensionamento.
Este comando é usado para alterar o nome do arquivo sem alterar o nome base nem salvar o arquivo. Se você especificar - para um nome de arquivo, a saída será canalizada para stdout.
Este comando é usado para alterar o nome base, se for desejado um diferente do nome do arquivo especificado.
Este comando encerrará o aplicativo de bitmap. Se o arquivo não foi salvo, o usuário será questionado se deseja salvar a imagem ou não. Este comando é preferível a matar o processo.
Os comandos do menu Editar podem ser acessados pressionando o botão Editar e selecionando a entrada de menu apropriada ou pressionando a tecla Meta com outra tecla. Esses comandos lidam com recursos de edição, como grade, eixos, zoom, recortar e colar, etc.
Este comando exibirá a imagem que está sendo editada e seu inverso em seu tamanho real em uma janela separada. A janela pode ser afastada para continuar com a edição. Pressionar o botão esquerdo do mouse na janela da imagem fará com que ela desapareça da tela.
Este comando controla a grade na área de edição. Se o espaçamento da grade estiver abaixo do valor especificado pelo recurso gridTolerance (8 por padrão), a grade será desligada automaticamente. Ele pode ser aplicado ativando explicitamente este comando.
Este comando controla o pontilhado para desenhar as linhas de grade. O pontilhado especificado pelo recurso de traços pode ser ativado ou desativado ativando este comando.
Este comando controla o realce dos eixos principais da imagem que está sendo editada. As linhas reais não fazem parte da imagem. Eles são fornecidos para auxiliar o usuário na construção de imagens simétricas, ou sempre que ter os eixos principais destacados ajuda na edição.
Este comando controla o pontilhado das áreas realçadas da imagem bitmap. O pontilhado especificado pelo recurso pontilhado pode ser ativado ou desativado ativando este comando.
Este comando controla o modo proporcional. Se o modo proporcional estiver ativado, a largura e a altura de todos os quadrados da imagem serão forçadas a serem iguais, independentemente das proporções da janela de bitmap.
Este comando controla o modo de zoom. Se houver uma área marcada da imagem já exibida, o bitmap irá ampliar automaticamente. Caso contrário, o usuário terá que destacar uma área a ser editada no modo de zoom e o bitmap mudará automaticamente para ela. Pode-se usar todos os comandos de edição e outros utilitários no modo de zoom. Ao diminuir o zoom, o comando desfazer desfará toda a sessão de zoom.
Este comando corta o conteúdo da área destacada da imagem no buffer interno de recortar e colar.
Este comando copia o conteúdo da área de imagem realçada no buffer interno de recortar e colar.
Este comando verificará se há algum outro aplicativo de bitmap com uma área de imagem destacada ou se há algo no buffer interno de recortar e colar e copiá-lo para a imagem. Para colocar a imagem copiada, clique na janela de edição e arraste a imagem contornada para a posição onde deseja colocar i, e então solte o botão.
Bitmap oferece suporte a dois mecanismos de recortar e colar; o recortar e colar interno e o recortar e colar da seleção X global. O recortar e colar interno é usado ao executar comandos de copiar e mover desenho e também recortar e copiar comandos do menu de edição. A seleção global X recortar e colar é usada sempre que há uma área destacada de uma imagem de bitmap exibida em qualquer lugar da tela. Para copiar uma parte da imagem de outro editor de bitmap basta destacar a área desejada utilizando o comando Marcar ou pressionando a tecla shift e arrastando a área com o botão esquerdo do mouse. Quando a área selecionada fica realçada, qualquer outro aplicativo (como xterm, etc.) que usa seleção primária descartará seus valores de seleção e removerá o destaque das informações apropriadas. Agora, use o comando Colar para o menu Editar ou o botão de controle do mouse para copiar a parte selecionada da imagem em outro (ou no mesmo) aplicativo de bitmap. Se você tentar fazer isso sem uma área de imagem destacada visível, o bitmap retornará ao buffer interno de recortar e colar e colar o que estiver armazenado no momento.
Abaixo está a estrutura do widget do aplicativo bitmap. O recuo indica a estrutura hierárquica. O nome da classe do widget é fornecido primeiro, seguido pelo nome da instância do widget. Todos os widgets, exceto o widget de bitmap, são do conjunto de widgets Athena padrão.
Bitmap bitmap
TransientShell image
Box box
Label normalImage
Label invertedImage
TransientShell input
Dialog dialog
Command okay
Command cancel
TransientShell error
Dialog dialog
Command abort
Command retry
TransientShell qsave
Dialog dialog
Command yes
Command no
Command cancel
Paned parent
Form formy
MenuButton fileButton
SimpleMenu fileMenu
SmeBSB new
SmeBSB load
SmeBSB insert
SmeBSB save
SmeBSB saveAs
SmeBSB resize
SmeBSB rescale
SmeBSB filename
SmeBSB basename
SmeLine line
SmeBSB quit
MenuButton editButton
SimpleMenu editMenu
SmeBSB image
SmeBSB grid
SmeBSB dashed
SmeBSB axes
SmeBSB stippled
SmeBSB proportional
SmeBSB zoom
SmeLine line
SmeBSB cut
SmeBSB copy
SmeBSB paste
Label status
Pane pane
Bitmap bitmap
Form form
Command clear
Command set
Command invert
Toggle mark
Command unmark
Toggle copy
Toggle move
Command flipHoriz
Command up
Command flipVert
Command left
Command fold
Command right
Command rotateLeft
Command down
Command rotateRight
Toggle point
Toggle curve
Toggle line
Toggle rectangle
Toggle filledRectangle
Toggle circle
Toggle filledCircle
Toggle floodFill
Toggle setHotSpot
Command clearHotSpot
Command undoSe você quiser que o bitmap seja visível em cores, inclua o seguinte na seção #ifdef COLOR do arquivo que você leu com xrdb:
*personalização: -cor
Isso fará com que o bitmap selecione as cores no arquivo de personalização de cores padrão do aplicativo:
/etc/X11/app-defaults/Bitmap-color
Widget bitmap é um widget autônomo para edição de imagens raster. Ele não foi projetado para editar imagens grandes, embora também possa ser usado para esse fim. Ele pode ser livremente incorporado a outros aplicativos e usado como uma ferramenta de edição padrão. A seguir estão os recursos fornecidos pelo widget de bitmap.
| Bitmap Widget | |
| Header file | Bitmap.h |
| Class | bitmapWidgetClass |
| Class Name | Bitmap |
| Superclass | Bitmap |
Todos os recursos do Simple Widget mais . . .
| Name | Class | Type | Default Value | |
| foreground | Foreground | Pixel | XtDefaultForeground | |
| highlight | Highlight | Pixel | XtDefaultForeground | |
| framing | Framing | Pixel | XtDefaultForeground | |
| gridTolerance | GridTolerance | Dimension | 8 | |
| size | Size | String | 32x32 | |
| dashed | Dashed | Boolean | True | |
| grid | Grid | Boolean | True | |
| stippled | Stippled | Boolean | True | |
| proportional | Proportional | Boolean | True | |
| axes | Axes | Boolean | False | |
| squareWidth | SquareWidth | Dimension | 16 | |
| squareHeight | SquareHeight | Dimension | 16 | |
| margin | Margin | Dimension | 16 | |
| xHot | XHot | Position | NotSet (-1) | |
| yHot | YHot | Position | NotSet (-1) | |
| button1Function | Button1Function | DrawingFunction | Set | |
| button2Function | Button2Function | DrawingFunction | Invert | |
| button3Function | Button3Function | DrawingFunction | Clear | |
| button4Function | Button4Function | DrawingFunction | Invert | |
| button5Function | Button5Function | DrawingFunction | Invert | |
| filename | Filename | String | None ("") | |
| basename | Basename | String | None ("") |
Davor Matic, Consórcio MIT X