Bonjour,
Réponses dans la demande...
Message de Rémi B date 2008-09-01 23:22 :
Comment faire pour récupérer les dimensions d'une image au format *.jpg
par macro basic ?
Pour l'instant, j'arrive à obtenir quelque chose avec un code comme :
oImage = ThisComponent.createInstance
("com.sun.star.drawing.GraphicObjectShape")
( ... )
Avec un fichier BMP, le script suivant fonctionne :
Sub resizeImageByWidth(uneImage As Object, largeur As Long)
Dim leBitMap As Object, Proportion As Double
Dim Taille1 As New com.sun.star.awt.Size
LeBitmap = uneImage.GraphicObjectFillBitmap
Taille1 = LeBitMap.Size ' taille en pixels !
Proportion = Taille1.Height / Taille1.Width
Taille1.Width = largeur ' largeur en 1/100 de mm
Taille1.Height = Taille1.Width * Proportion
uneImage.Size = Taille1
End Sub
La routine resizeImageByWidth marche avec n'importe quel format de
fichier bitmap (png, jpg, etc). Il suffit de lui transmettre ta variable
oImage, comme l'explique le livre Programmation OpenOffice.org 2 page 565.
d'après l'API, GraphicObjectFillBitmap est DEPRECATED :
http://api.openoffice.org/docs/common/ref/com/sun/star/drawing/
GraphicObjectShape.html#GraphicObjectFillBitmap
Il faut lire tout ce qui est écrit à ce propos :
Deprecated. Use graphic property instead!
Il s'agit d'une propriété appelée Graphic, ajoutée avec la version 2.
Un petit coup de Xray sur cette propriété t'indique qu'elle renvoie un
objet contenant:
.SizePixel
.Size100thMM
Tous deux sont des structures com.sun.star.awt.Size
______
Bernard
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]