bmtoa - manual de referência, opções, exemplos de comandos


NOME

bmtoa bitmap, bmtoa, atobm - editor de bitmap e utilitários conversores para o X Window System

SINOPSE

bitmap [ -options . . . ] [ filename ] [ basename ]

bmtoa [ -chars . . . ] [ filename ]

atobm [ -chars cc ] [ -name variable ] [ -xhot number ] [ -yhot number ] [ filename ]

DESCRIÇÃO

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.

OPÇÕES DE LINHA DE COMANDO

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.

-size WIDTHxHEIGHT

Especifica o tamanho da grade em quadrados.

-sw dimension

Especifica a largura dos quadrados em pixels.

-sh dimension

Especifica a altura dos quadrados em pixels.

-gt dimension

Tolerância de grade. Se as dimensões do quadrado ficarem abaixo do valor especificado, a grade será desativada automaticamente.

-grid, +grid

Ativa ou desativa as linhas de grade.

-axes, +axes

Ativa ou desativa os eixos principais.

-dashed, +dashed

Ativa ou desativa o traço para o quadro e as linhas de grade.

-stippled, +stippled

Ativa ou desativa o pontilhado de quadrados realçados.

-proportional, +proportional

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.

-dashes filename

Especifica o bitmap a ser usado como pontilhado para traço.

-stipple filename

Especifica o bitmap a ser usado como pontilhado para realce.

-hl color

Especifica a cor usada para realçar.

-fr color

Especifica a cor usada para o quadro e as linhas de grade.

filename

Especifica o bitmap a ser carregado inicialmente no programa. Se o arquivo não existir, bitmap assumirá que é um novo arquivo.

basename

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:

-chars cc

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:

-chars cc

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.

-name variable

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.

-xhot number

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.

-yhot number

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.

USO

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.

EDIÇÃO

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		Clear

Esse 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.

COMANDOS DE DESENHO

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.

Clear

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.

Set

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.

Invert

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.

Mark

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.

Unmark

Este comando fará com que a área marcada desapareça. O mesmo efeito pode ser obtido pressionando Shift-MouseButton3.

Copy

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.

Move

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.

Flip Horizontally

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.

Up

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.

Flip Vertically

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.

Left

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.

Fold

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.

Right

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.

Rotate Left

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.

Down

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.

Rotate Right

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.

Point

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.

Curve

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.

Line

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á.

Rectangle

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á.

Filled Rectangle

Este comando é idêntico ao Retângulo, exceto que no final o retângulo será preenchido em vez de contornado.

Circle

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á.

Filled Circle

Este comando é idêntico ao Círculo, exceto que no final o círculo será preenchido em vez de contornado.

Flood Fill

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.

Set Hot Spot

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.

Clear Hot Spot

Este comando remove qualquer ponto de acesso designado da imagem bitmap.

Undo

Este comando irá desfazer o último comando executado. Tem profundidade um, ou seja, pressionando Desfazer após Desfazer irá se desfazer.

MENU DE ARQUIVO

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.

New

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.

Load

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.

Insert

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.

Save

Este comando salvará a imagem bitmap. Ele não solicitará o nome do arquivo, a menos que seja . Se você deixar o nome do arquivo não designado ou -, a saída será canalizada para stdout.

Save As

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.

Resize

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.

Rescale

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.

Filename

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.

Basename

Este comando é usado para alterar o nome base, se for desejado um diferente do nome do arquivo especificado.

Quit

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.

EDITAR MENU

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.

Image

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.

Grid

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.

Dashed

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.

Axes

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.

Stippled

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.

Proportional

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.

Zoom

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.

Cut

Este comando corta o conteúdo da área de imagem realçada no buffer interno de recortar e colar.

Copy

Este comando copia o conteúdo da área de imagem realçada no buffer interno de recortar e colar.

Paste

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.

COPIAR E COLAR

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.

WIDGETS

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 undo

CORES

Se 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:

*customization: -color

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

Widget de 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 ("")

AUTOR

Davor Matic, Consórcio MIT X