Определение реального размера вставляемого изображения

Автор progman2000, 3 апреля 2015, 17:59

0 Пользователи и 1 гость просматривают эту тему.

progman2000

Всем привет.

Проблема такая: в Calc надо подгрузить изображения, задать размер и позицию. Делаю так:
Sub InsertAndPositionGraphic
  Dim vSheet
  vSheet = ThisComponent.Sheets(0)
  Dim sGraphicURL(0) as new com.sun.star.beans.PropertyValue
  sGraphicURL(0).Name= "URL"
  Dim sGraphicService As String, sUrl As String
  Dim oDrawPages As Object, oDrawPage As Object
  Dim oGraphic As Object
  oProvider = createUnoService("com.sun.star.graphic.GraphicProvider")
  sGraphicService = "com.sun.star.drawing.GraphicObjectShape"
  oGraphic = ThisComponent.createInstance(sGraphicService)
  vSheet.DrawPage.add(oGraphic)
  sGraphicURL(0).Value = "file:///C:\1700х1500.gif"
  oGraphic.Graphic = oProvider.queryGraphic(sGraphicURL())
  width = oGraphic.Size.Width
  height = oGraphic.Size.Height
  Rem TheSize=oGraphic.getsize
  Msgbox width
  Msgbox height

Я предполагал, что в результате переменные width и height будут содержать реальные (из файла) значения ширины и высоты картинки, для того, чтобы сделать ее масштабирование. Но у меня они обе равны 100. Что делаю не правильно ? Как получить искомый результат ? Стоит OpenOffice 4.1.1.
Заранее спасибо.
 

rami

Исправьте строки:width = oGraphic.Size.Width
height = oGraphic.Size.Height

на:width = oGraphic.Graphic.Size.Width
height = oGraphic.Graphic.Size.Height

progman2000