5.12.06

Afficher un rectangle depuis l'extension


Il s'agit maintenant de pouvoir afficher un rectangle de base qui représentera l'une des barres du code EAN13. Toujours dans les extensions de bases j'ai trouvé le code suivant pour tracer une ligne.

new = self.document.createElement('svg:path')
s = {'stroke-linejoin': 'miter', 'stroke-width': '1.0px',
'stroke-opacity': '1.0', 'fill-opacity': '1.0',
'stroke': '#000000', 'stroke-linecap': 'butt',
'fill': 'none'}
new.setAttribute('style', simplestyle.formatStyle(s))
new.setAttribute('d', simplepath.formatPath(a))
node.parentNode.appendChild(new)

Pour pouvoir aller plus loin je vais dans l'explorateur XML d'inkscape pour voir la différence entre une ligne et un rectangle... et je modifie donc le code en conséquence pour arriver à :

new = self.document.createElement('svg:rect') s = {'stroke': 'none', 'fill': 'black', 'fill-opacity': '1.0'} new.setAttribute('style', simplestyle.formatStyle(s)) new.setAttribute('x', str(bPosX)) new.setAttribute('y', str(bPosY)) new.setAttribute('width', str(bWidth)) new.setAttribute('height', str(bHeight)) self.current_layer.appendChild(new)

qui me déssinera un rectangle de bWidth de large sur bHeigth de haut à la position bPosX, bPosY.

Aucun commentaire: