[Gelöst] CC: mit C/AL Bitmap Bild verkleinern

Bild Microsoft Dynamics NAV 2009 (aka "NAV 6")
Forumsregeln
Impressum • Community-Knigge • Nutzungsbedingungen • Datenschutzrichtlinie

Bitte unbedingt angeben, ob sich eure Frage auf den RoleTailored-Client (RTC) oder den Classic-Client (CC) bezieht!

[Gelöst] CC: mit C/AL Bitmap Bild verkleinern

Beitragvon navCH » 13. März 2017 11:01

Hallo Zusammen.

ich importiere durch einen Report mehrere Bitmap Bilder. Diese möchte ich im C/AL Code verkleinern.
Die Abmessungen sind ca. 300 x 300 Pixel und Größe liegt bei 263 KB. Ich möchte die Größe auf die Hälfte verkleinern.

Ich streame die Bilder in Excel, was auch soweit funktioniert, aber die Bilder sind zu groĂź:

Code: Alles auswählen
IF Picture.HASVALUE THEN BEGIN
    Picture.CREATEINSTREAM(streamIn);
    outFile.CREATE(ExcelExport+"No."+'.bmp');
    outFile.CREATEOUTSTREAM(streamOut);
    COPYSTREAM(streamOut, streamIn);
    outFile.CLOSE;
END;


Ich definiere Höhe und Breite der Zellen für das Bild und evaluiere die Koordinaten für das Shape:
Code: Alles auswählen
  IF EXISTS(ExcelExport+"No."+'.bmp') THEN BEGIN
      xlRange := Sheet.Range('B'+q);
      xlRange.RowHeight := 235;
      xlRange.ColumnWidth := 50;
      EVALUATE(PosX, FORMAT(xlRange.Left));
      EVALUATE(PosY, FORMAT(xlRange.Top));     
                                                   
      xlShape:=Sheet.Shapes.AddPicture(ExcelExport+
      "No."+'.bmp',1, 1,PosX+5,PosY+5,-1,-1);
      xlShape.Select;
      xlShape.Placement(1);
      MODIFY;
End;


Kann ich hierbei schon die Größe des Bildes manipulieren?


Beste GrĂĽĂźe
Christian
Zuletzt geändert von navCH am 13. März 2017 12:28, insgesamt 1-mal geändert.
Benutzeravatar
navCH
 
Beiträge: 522
Registriert: 23. Oktober 2012 09:33
Realer Name: Christian W

Re: CC: mit C/AL Bitmap Bild verkleinern

Beitragvon winfy » 13. März 2017 12:20

Hallo Christian,

siehe https://msdn.microsoft.com/de-de/library/office/ff198302.aspx

Statt Parameter Width und Height auf -1 zu setzen, einfach die Pixelanzahl für Höhe und Breite angeben. (z.B. ,150,150)

Da die Bilder alle 300x300 Pixel habe ist das sogar super fĂĽr dich, da du damit automatisch keine Verzerrung hast. :wink:
Ansonsten wäre das Problem das sich das Bild verzerren könnte, wenn du die Pixel nicht relativ zur konkreten Bildgröße berechnen kannst.

GruĂź,
winfy
"Das Wissen ist das einzige Gut, das sich vermehrt, wenn man es teilt.
Wer nichts weiĂź, muss alles glauben."
...Marie von Ebner-Eschenbach
Benutzeravatar
winfy
 
Beiträge: 873
Registriert: 15. Oktober 2009 08:19
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: NAV 3.x - BC 23.x

Re: CC: mit C/AL Bitmap Bild verkleinern

Beitragvon navCH » 13. März 2017 12:27

Danke winfy.
Das war der Hinweis den ich brauchte.

Beste GrĂĽĂźe
Christian
Benutzeravatar
navCH
 
Beiträge: 522
Registriert: 23. Oktober 2012 09:33
Realer Name: Christian W


ZurĂĽck zu NAV 2009

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 1 Gast