Travail en cours sur l'analyse du format Trotec Spool File (TSF) pour voir s'il ne serait pas possible de le générer à la mano, voir avec un plugin inkscape.
<!-- Version: 9.4.2.1034> <!-- PrintingApplication: inkscape.exe> <BegGroup: Header> <ProcessMode: Standard> <Size: 10.00;10.00> <MaterialGroup: Standard> <MaterialName: Standard> <JobName: bbb_sq10> <JobNumber: 2> <Resolution: 500> <Cutline: none> <EndGroup: Header>
Le format est assez lisible à première vue :
<LayerParameter: 5;0.000>
: paramétrage du mode couche − 5
: Nombre de couches − 0.000
: Ajustement<StampShoulder: flat>
: paramétrage des bord du tampon − flat
/ medium
/ steep
<RotaryAttachment: 3.18>
: Argument facultatif : apparait lorsque l'on selectionne l'option tourne cylindre − 3.18
est le dimaètre du tourne cylindreJouer avec les différents réglages du driver trotec lorsque l'on imprime à partir d'inkscape pour voir ce que cela donne dans le tsf
<BegGroup: Bitmap> <STBmp: 0;0>BMÊ^U^@^@^@^@^@^@>^@^@^@(^@^@^@Å^@^@^@Å^@^@^@^A^@^A^@.......<EOBmp> <EndGroup: Bitmap>
Pour les modes couches et relief l'image bms est encodée sur 8bits(256couleurs) mais est en fait tramée sur 16 couleurs
Conversion d'une image png en bitmap N&B de façon assez brute (avec un flip sinon à l'envers dans JobControl):
<code>convert image_source.png -flip pbm:- | ppm2bmp > image_nb.bmp</code> en fait pas besoin de passer par ppbm cf ci dessous
Quelques exemple de generation d'images monochromes (modes standard et tampon) avec tramage sympa grâce à imagemagick
convert reverserd2.png -flip -remap pattern:gray50 -monochrome reversed23.bmp
: fonctionne mais trammage pas topconvert reverserd2.png -flip -colorspace Gray -ordered-dither o8x8 -monochrome reversed25.bmp
: tramage régulier mais plutot sympaconvert reverserd2.png -flip -colorspace Gray -ordered-dither h4x4a -monochrome reversed25.bmp
: tramage régulier un peu plus grossier que le précédent mais en diagonale rend pas mal en visuel<BegGroup: DrawCommands> <DrawPolygon: 5;255;0;0;0;0;196;0;196;196;0;196;0;0> <DrawPolygon: 2;255;0;0;0;0;196;196> <DrawPolygon: 2;0;0;255;196;0;0;196> <EndGroup: DrawCommands>
Faire des truc un peu plus compliqué dans inkscape et voir ce qui sort.
Générer des trucs un peu plus compliqué “à la main” et voir ce qui se passe ;)
http://www.daubnet.com/en/file-format-bmp Description format BMP http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=15846
Petit script d'analyse des entêtes bmp pour comparer l'image qui vient de trotec et ce que je génère:
import os,struct,sys if len(sys.argv) != 2: print 'Usage:python viewer.py bmpfile' exit(1) filename = sys.argv[1] header_keys = ('signature','file size','reserved','reserved','data offset','size','width','height','planes','bitCount','compression','image size','XpixelsPerM','YpixelsPerM','ColorUsed','ColorImportant') header_fmt = '=2sihhiiiihhiiiiii' palette_fmt = 'BBBB'*256 f = open(filename,'rb') #read header print '----Header----' s_header = f.read(54) for k,it in zip(header_keys,struct.unpack(header_fmt,s_header)): print "%s : %s" %(k,it) #read palette print '----palette----' s_palette = f.read(1024) palette = struct.unpack(palette_fmt,s_palette) i = 0 while i < len(palette): print palette[i:i+4] i += 4
,