bitmap , bmtoa, atobm - éditeur de bitmap et utilitaires de conversion pour le système X Window
bitmap [ -options . . . ] [ filename ] [ basename ]
bmtoa [ -chars . . . ] [ filename ]
atobm [ -chars cc ] [ -name variable ] [ -xhot number ] [ -yhot number ] [ filename ]
Le programme bitmap est un outil rudimentaire pour créer ou éditer des images rectangulaires composées de 1 et de 0. Les bitmaps sont utilisés dans X pour définir les zones de découpage, les formes de curseur, les formes d'icônes et les motifs de carreaux et de pointillés.
Les filtres bmtoa et atobm convertissent les fichiers bitmap (FORMAT DE FICHIER) vers et à partir de chaînes ASCII. Ils sont le plus souvent utilisés pour imprimer rapidement des bitmaps et générer des versions à inclure dans le texte.
Bitmap prend en charge les arguments de ligne de commande standard de X Toolkit (voir X(7)). Les arguments supplémentaires suivants sont également pris en charge.
Spécifie la taille de la grille en carrés.
Spécifie la largeur des carrés en pixels.
Spécifie la hauteur des carrés en pixels.
Tolérance de grille. Si les dimensions du carré tombent en dessous de la valeur spécifiée, la grille sera automatiquement désactivée.
Active ou désactive les lignes de la grille.
Active ou désactive les axes principaux.
Active ou désactive les pointillés pour les lignes du cadre et de la grille.
Active ou désactive le pointillé des carrés en surbrillance.
Active ou désactive le mode proportionnel. Si le mode proportionnel est activé, la largeur du carré est égale à la hauteur du carré. Si le mode proportionnel est désactivé, le bitmap utilisera la plus petite dimension carrée, si elles étaient initialement différentes.
Spécifie le bitmap à utiliser comme pointillé pour les tirets.
Spécifie le bitmap à utiliser comme pointillé pour la mise en surbrillance.
Spécifie la couleur utilisée pour la mise en surbrillance.
Spécifie la couleur utilisée pour les lignes du cadre et de la grille.
Spécifie le bitmap à charger initialement dans le programme. Si le fichier n'existe pas,bitmap supposera qu'il s'agit d'un nouveau fichier.
Spécifie le nom de base à utiliser dans le fichier de sortie du code C. S'il est différent du nom de base dans le fichier de travail, le bitmap le changera lors de l'enregistrement du fichier.
Bmtoa accepte l'option suivante :
Cette option spécifie la paire de caractères à utiliser dans la version chaîne du bitmap. Le premier caractère est utilisé pour les bits 0 et le deuxième caractère est utilisé pour les bits 1. La valeur par défaut consiste à utiliser des tirets (-) pour les 0 et des signes dièse (#) pour les 1.
Atobm accepte les options suivantes :
Cette option spécifie la paire de caractères à utiliser lors de la conversion de bitmaps de chaînes en tableaux de nombres. Le premier caractère représente un bit 0 et le deuxième caractère représente un bit 1. La valeur par défaut consiste à utiliser des tirets (-) pour les 0 et des signes dièse (#) pour les 1.
Cette option spécifie le nom de la variable à utiliser lors de l'écriture du fichier bitmap. La valeur par défaut est d'utiliser le nom de base de l'argument de ligne de commande filename ou de le laisser vide si l'entrée standard est lue.
Cette option spécifie la coordonnée X du hotspot. Seules les valeurs positives sont autorisées. Par défaut, aucune information de point d'accès n'est incluse.
Cette option spécifie la coordonnée Y du hotspot. Seules les valeurs positives sont autorisées. Par défaut, aucune information de point d'accès n'est incluse.
Bitmap affiche une grille dans laquelle chaque carré représente un seul bit dans l'image en cours d'édition. La taille réelle de l'image bitmap, telle qu'elle apparaîtrait normalement et inversée, peut être obtenue en appuyant sur la touche Meta-I. Vous êtes libre de déplacer la fenêtre contextuelle de l'image pour continuer l'édition. Appuyez à nouveau sur le bouton gauche de la souris dans la fenêtre contextuelle ou sur Méta-I pour supprimer l'image bitmap en taille réelle.
Si le bitmap doit être utilisé pour définir un curseur, l'un des carrés dans les images peut être désigné comme le point chaud. Cela détermine où le curseur pointe réellement. Pour les curseurs avec des pointes pointues (comme des flèches ou des doigts), c'est généralement à l'extrémité de la pointe ; pour les curseurs symétriques (tels que les croix ou les bulles), c'est généralement au centre.
Les bitmaps sont stockés sous forme de petits fragments de code C pouvant être inclus dans les applications. Ils fournissent un tableau de bits ainsi que des constantes symboliques donnant la largeur, la hauteur et le point chaud (si spécifié) qui peuvent être utilisés pour créer des curseurs, des icônes et des tuiles.
Pour éditer une image bitmap, cliquez simplement sur l'un des boutons avec des commandes de dessin (Point, Courbe, Ligne, Rectangle, etc.) et déplacez le pointeur dans la fenêtre de la grille bitmap. Appuyez sur l'un des boutons de votre souris et l'action appropriée aura lieu. Vous pouvez définir, effacer ou inverser les carrés de ceinturon. Mettre un carré de la grille correspond à mettre un bit de l'image bitmap à 1. Effacer un carré de la grille correspond à mettre un bit de l'image bitmap à 0. Inverser un carré de la grille correspond à changer un bit de l'image bitmap de 0 à 1 ou 1 à 0, selon son état précédent. Le comportement par défaut des boutons de la souris est tel que spécifié ci-dessous.
MouseButton1 Set
MouseButton2 Invert
MouseButton3 Clear
MouseButton4 Clear
MouseButton5 ClearCe comportement par défaut peut être modifié en définissant les ressources de fonction du bouton. Un exemple est fourni ci-dessous.
bitmap*button1Function: Set
bitmap*button2Function: Clear
bitmap*button3Function: Invert
etc.La fonction du bouton s'applique à toutes les commandes de dessin, y compris copier, déplacer et coller, remplir et définir le point chaud.
Voici la liste des commandes de dessin accessibles via les boutons situés à gauche de la fenêtre de l'application. Certaines commandes peuvent être annulées en appuyant sur A dans la fenêtre bitmap, permettant à l'utilisateur de sélectionner différents points de guidage, le cas échéant.
Cette commande efface tous les bits de l'image bitmap. Les carrés de la grille seront définis sur la couleur d'arrière-plan. Appuyer sur C à l'intérieur de la fenêtre bitmap a le même effet.
Cette commande définit tous les bits de l'image bitmap. Les carrés de la grille seront définis sur la couleur de premier plan. Appuyer sur S à l'intérieur de la fenêtre bitmap a le même effet.
Cette commande inverse tous les bits de l'image bitmap. Les carrés de la grille seront inversés de manière appropriée. Appuyer sur I à l'intérieur de la fenêtre bitmap a le même effet.
Cette commande est utilisée pour marquer une zone de la grille en faisant glisser une forme rectangulaire dans la couleur de surbrillance. Une fois la zone marquée, elle peut être actionnée par un certain nombre de commandes (voir Haut, Bas, Gauche, Droite, Rotation, Retourner, Couper, etc.) Une seule zone marquée peut être présente à à tout moment. Si vous essayez de marquer une autre zone, l'ancienne marque disparaîtra. Le même effet peut être obtenu en appuyant sur Maj-MouseButton1 et en faisant glisser un rectangle dans la fenêtre de la grille. Appuyer sur Maj-MouseButton2 marquera toute la zone de la grille.
Cette commande fera disparaître la zone marquée. Le même effet peut être obtenu en appuyant sur Maj-MouseButton3.
Cette commande est utilisée pour copier une zone de la grille d'un emplacement à un autre. Si aucune zone de grille marquée n'est affichée, Copier se comporte exactement comme Marquer décrit ci-dessus. Une fois qu'il y a une zone de grille marquée affichée dans la couleur de surbrillance, cette commande a deux comportements alternatifs. Si vous cliquez sur un bouton de la souris à l'intérieur de la zone marquée, vous pourrez faire glisser le rectangle qui représente la zone marquée vers l'emplacement souhaité. Après avoir relâché le bouton de la souris, la zone sera copiée. Si vous cliquez en dehors de la zone marquée, Copier supposera que vous souhaitez marquer une autre région de l'image bitmap, il se comportera donc à nouveau comme Marquer.
Cette commande est utilisée pour déplacer une zone de la grille d'un emplacement à un autre. Son comportement ressemble au comportement de la commande Copier, sauf que la zone marquée sera déplacée au lieu d'être copiée.
Cette commande retournera l'image bitmap par rapport aux axes horizontaux. Si une zone marquée de la grille est mise en surbrillance, elle ne fonctionnera qu'à l'intérieur de la zone marquée. Appuyer sur H à l'intérieur de la fenêtre bitmap a le même effet.
Cette commande déplace l'image bitmap d'un pixel vers le haut. Si une zone marquée de la grille est mise en surbrillance, elle ne fonctionnera qu'à l'intérieur de la zone marquée. Appuyer sur UpArrow à l'intérieur de la fenêtre bitmap a le même effet.
Cette commande retournera l'image bitmap par rapport aux axes verticaux. Si une zone marquée de la grille est mise en surbrillance, elle ne fonctionnera qu'à l'intérieur de la zone marquée. Appuyer sur V dans la fenêtre bitmap a le même effet.
Cette commande déplace l'image bitmap d'un pixel vers la gauche. Si une zone marquée de la grille est mise en surbrillance, elle ne fonctionnera qu'à l'intérieur de la zone marquée. Appuyer sur LeftArrow à l'intérieur de la fenêtre bitmap a le même effet.
Cette commande pliera l'image bitmap afin que les coins opposés deviennent adjacents. Ceci est utile lors de la création d'images bitmap pour la mosaïque. Appuyer sur F à l'intérieur de la fenêtre bitmap a le même effet.
Cette commande déplace l'image bitmap d'un pixel vers la droite. Si une zone marquée de la grille est mise en surbrillance, elle ne fonctionnera qu'à l'intérieur de la zone marquée. Appuyer sur RightArrow à l'intérieur de la fenêtre bitmap a le même effet.
Cette commande fait pivoter l'image bitmap de 90 degrés vers la gauche (dans le sens inverse des aiguilles d'une montre). Si une zone marquée de la grille est mise en surbrillance, elle ne fonctionnera qu'à l'intérieur de la zone marquée. Appuyer sur L à l'intérieur de la fenêtre bitmap a le même effet.
Cette commande déplace l'image bitmap d'un pixel vers le bas. Si une zone marquée de la grille est mise en surbrillance, elle ne fonctionnera qu'à l'intérieur de la zone marquée. Appuyer sur DownArrow à l'intérieur de la fenêtre bitmap a le même effet.
Cette commande fait pivoter l'image bitmap de 90 degrés vers la droite (dans le sens des aiguilles d'une montre). Si une zone marquée de la grille est mise en surbrillance, elle ne fonctionnera qu'à l'intérieur de la zone marquée. Appuyer sur R dans la fenêtre bitmap a le même effet.
Cette commande changera les carrés de la grille sous le pointeur de la souris si un bouton de la souris est enfoncé. Si vous faites glisser le bouton de la souris en continu, la ligne peut ne pas être continue, selon la vitesse de votre système et la fréquence des événements de mouvement de la souris.
Cette commande changera les carrés de la grille sous le pointeur de la souris si un bouton de la souris est enfoncé. Si vous faites glisser le bouton de la souris en continu, cela garantira que la ligne est continue. Si votre système est lent ou si le bitmap reçoit très peu d'événements de mouvement de la souris, il peut se comporter de manière assez étrange.
Cette commande changera les carrés de ceinture dans une ligne entre deux carrés. Une fois que vous avez appuyé sur un bouton de la souris dans la fenêtre de la grille, bitmap mettra en surbrillance la ligne allant du carré où le bouton de la souris a été initialement enfoncé au carré où se trouve le pointeur de la souris. En relâchant le bouton de la souris, la modification prendra effet et la ligne en surbrillance disparaîtra.
Cette commande changera les carrés de ceinture dans un rectangle entre deux carrés. Une fois que vous avez appuyé sur un bouton de la souris dans la fenêtre de la grille, bitmap mettra en surbrillance le rectangle depuis le carré où le bouton de la souris a été initialement enfoncé jusqu'au carré où se trouve le pointeur de la souris. En relâchant le bouton de la souris, la modification prendra effet et le rectangle en surbrillance disparaîtra.
Cette commande est identique à Rectangle, sauf qu'à la fin, le rectangle sera rempli plutôt que délimité.
Cette commande changera les carrés de ceinture dans un cercle entre deux carrés. Une fois que vous avez appuyé sur un bouton de la souris dans la fenêtre de la grille, bitmap mettra en surbrillance le cercle depuis le carré où le bouton de la souris a été initialement enfoncé jusqu'au carré où se trouve le pointeur de la souris. En relâchant le bouton de la souris, la modification prendra effet et le cercle en surbrillance disparaîtra.
Cette commande est identique à Cercle, sauf qu'à la fin, le cercle sera rempli plutôt que délimité.
Cette commande remplira la zone connectée sous le pointeur de la souris lorsque vous cliquerez sur le carré souhaité. Les cases adjacentes en diagonale ne sont pas considérées comme étant connectées.
Cette commande désigne un carré de la grille comme point chaud si cette image bitmap doit être utilisée pour définir un curseur. En appuyant sur un bouton de la souris dans le carré désiré, une forme de losange s'affichera.
Cette commande supprime tout point chaud désigné de l'image bitmap.
Cette commande annulera la dernière commande exécutée. Il a une profondeur un, c'est-à-dire qu'appuyer sur Annuler après Annuler se défait de lui-même.
Les commandes du menu Fichier sont accessibles en appuyant sur le bouton Fichier et en sélectionnant l'entrée de menu appropriée, ou en appuyant sur la touche Ctrl avec une autre touche. Ces commandes traitent des fichiers et des paramètres bitmap globaux, tels que la taille, le nom de base, le nom de fichier, etc.
Cette commande effacera la zone d'édition et demandera le nom du nouveau fichier à éditer. Il ne se chargera pas dans le nouveau fichier.
Cette commande est utilisée pour charger un nouveau fichier bitmap dans l'éditeur bitmap. Si l'image actuelle n'a pas été enregistrée, l'utilisateur sera invité à enregistrer ou à ignorer les modifications. L'éditeur ne peut modifier qu'un seul fichier à la fois. Si vous avez besoin d'une édition interactive, exécutez plusieurs éditeurs et utilisez le mécanisme de copier-coller comme décrit ci-dessous.
Cette commande est utilisée pour insérer un fichier bitmap dans l'image en cours d'édition. Après avoir été invité à entrer le nom du fichier, cliquez à l'intérieur de la fenêtre de la grille et faites glisser le rectangle délimité vers l'emplacement où vous souhaitez insérer le nouveau fichier.
Cette commande enregistrera l'image bitmap. Il ne demandera pas le nom du fichier à moins qu'il ne soit dit qu'il est
Cette commande enregistrera l'image bitmap après avoir demandé un nouveau nom de fichier. Il doit être utilisé si vous souhaitez modifier le nom du fichier.
Cette commande est utilisée pour redimensionner la zone d'édition au nouveau nombre de pixels. La taille doit être saisie au format WIDTHxHEIGHT. Les informations de l'image en cours d'édition ne seront pas perdues à moins que la nouvelle taille ne soit inférieure à la taille actuelle de l'image. L'éditeur n'a pas été conçu pour éditer des fichiers volumineux.
Cette commande est utilisée pour redimensionner la zone d'édition aux nouvelles largeur et hauteur. La taille doit être saisie au format WIDTHxHEIGHT. Il ne fera pas d'anticrénelage et les informations seront perdues si vous redimensionnez aux tailles plus petites. N'hésitez pas à ajouter vos propres algorithmes pour un meilleur redimensionnement.
Cette commande est utilisée pour changer le nom du fichier sans changer le nom de base ni enregistrer le fichier. Si vous spécifiez - pour un nom de fichier, la sortie sera redirigée vers stdout.
Cette commande est utilisée pour changer le nom de base, si un nom de fichier différent du nom de fichier spécifié est souhaité.
Cette commande mettra fin à l'application bitmap. Si le fichier n'a pas été enregistré, l'utilisateur sera invité à enregistrer l'image ou non. Cette commande est préférable à l'arrêt du processus.
Les commandes du menu Edit sont accessibles en appuyant sur le bouton Edit et en sélectionnant l'entrée de menu appropriée, ou en appuyant sur la touche Meta avec une autre touche. Ces commandes traitent des fonctionnalités d'édition telles que la grille, les axes, le zoom, le couper-coller, etc.
Cette commande affichera l'image en cours d'édition et son inverse dans sa taille réelle dans une fenêtre séparée. La fenêtre peut être déplacée pour continuer l'édition. Appuyer sur le bouton gauche de la souris dans la fenêtre d'image la fera disparaître de l'écran.
Cette commande contrôle la grille dans la zone d'édition. Si l'espacement de la grille est inférieur à la valeur spécifiée par la ressource gridTolerance (8 par défaut), la grille sera automatiquement désactivée. Il peut être appliqué en activant explicitement cette commande.
Cette commande contrôle le pointillé pour dessiner les lignes de la grille. Le pointillé spécifié par la ressource tirets peut être activé ou désactivé en activant cette commande.
Cette commande contrôle la mise en surbrillance des axes principaux de l'image en cours d'édition. Les lignes réelles ne font pas partie de l'image. Ils sont fournis pour aider l'utilisateur lors de la construction d'images symétriques, ou chaque fois que la mise en surbrillance des axes principaux facilite votre édition.
Cette commande contrôle le pointillé des zones en surbrillance de l'image bitmap. Le pointillé spécifié par la ressource pointillé peut être activé ou désactivé en activant cette commande.
Cette commande contrôle le mode proportionnel. Si le mode proportionnel est activé, la largeur et la hauteur de tous les carrés de l'image sont forcées d'être égales, quelles que soient les proportions de la fenêtre bitmap.
Cette commande contrôle le mode de zoom. S'il y a une zone marquée de l'image déjà affichée, le bitmap zoomera automatiquement dessus. Sinon, l'utilisateur devra mettre en surbrillance une zone à éditer en mode zoom et le bitmap y basculera automatiquement. On peut utiliser toutes les commandes d'édition et autres utilitaires en mode zoom. Lorsque vous effectuez un zoom arrière, la commande Annuler annule toute la session de zoom.
Cette commande coupe le contenu de la zone d'image en surbrillance dans le tampon interne de copier-coller.
Cette commande copie le contenu de la zone d'image en surbrillance dans le tampon interne de copier-coller.
Cette commande vérifiera s'il existe d'autres applications bitmap avec une zone d'image en surbrillance, ou s'il y a quelque chose dans le tampon interne de copier-coller et le copiera dans l'image. Pour placer l'image copiée, cliquez dans la fenêtre d'édition et faites glisser l'image délimitée à l'endroit où vous souhaitez placer i, puis relâchez le bouton.
Bitmap prend en charge deux mécanismes de copier-coller ; le couper-coller interne et le couper-coller de la sélection X globale. Le copier-coller interne est utilisé lors de l'exécution des commandes de dessin copier et déplacer, ainsi que des commandes couper et copier du menu d'édition. La sélection X globale couper et coller est utilisée chaque fois qu'une zone en surbrillance d'une image bitmap est affichée n'importe où sur l'écran. Pour copier une partie de l'image à partir d'un autre éditeur bitmap, mettez simplement en surbrillance la zone souhaitée en utilisant la commande Marquer ou en appuyant sur la touche Maj et en faisant glisser la zone avec le bouton gauche de la souris. Lorsque la zone sélectionnée est mise en surbrillance, toutes les autres applications (telles que xterm, etc.) qui utilisent la sélection primaire ignorent leurs valeurs de sélection et désactivent les informations appropriées. Maintenant, utilisez la commande Coller du menu Edition ou le bouton de la souris pour copier la partie sélectionnée de l'image dans une autre (ou la même) application bitmap. Si vous essayez de le faire sans zone d'image visible en surbrillance, le bitmap reviendra au tampon interne de copier-coller et collera tout ce qui y était stocké pour le moment.
Vous trouverez ci-dessous la structure du widget de l'application bitmap. L'indentation indique une structure hiérarchique. Le nom de la classe du widget est donné en premier, suivi du nom de l'instance du widget. Tous les widgets, à l'exception du widget bitmap, proviennent de l'ensemble de widgets Athena standard.
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 undoSi vous souhaitez que le bitmap soit visible en couleur, incluez ce qui suit dans la section #ifdef COLOR du fichier que vous lisez avec xrdb :
*personnalisation : -couleur
Cela entraînera le bitmap à récupérer les couleurs dans le fichier de personnalisation des couleurs app-defaults :
/etc/X11/app-defaults/Bitmap-color
Le widget Bitmap est un widget autonome pour l'édition d'images raster. Il n'est pas conçu pour éditer de grandes images, bien qu'il puisse également être utilisé à cette fin. Il peut être librement intégré à d'autres applications et utilisé comme outil d'édition standard. Voici les ressources fournies par le widget bitmap.
| Bitmap Widget | |
| Header file | Bitmap.h |
| Class | bitmapWidgetClass |
| Class Name | Bitmap |
| Superclass | Bitmap |
Toutes les ressources de Simple Widget plus . . .
| 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, Consortium MIT X