Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 10. 4. 2020 14:03:02

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 173

Export oříznutých fotografii makrem

Zdravím,

používám uvedené Makro k exportu fotografii a získání jejich jmen... Vše funguje jak potřebuji až teď jsem narazil že pokud mám v Calcu oříznutou fotografii tak toto makro vyexportuje fotografii v plné neořízlé podobě. Je možné upravit to makro tak aby fotografii vyexportoval přesně tak jak vypadá (výřez, otočení)
Crop-handles.jpg

sub EXPORT_FOTEK
   doc = thiscomponent
   a_url = split(doc.URL, "/")

   GP = createUnoService("com.sun.star.graphic.GraphicProvider")
   dim props(1) as new com.sun.star.beans.PropertyValue
   props(0).Name = "URL"
   props(1).Name = "MimeType"

   for each sheet in doc.Sheets
      drawpage = sheet.DrawPage
      for n = drawpage.Count-1 to 0 step -1
         elem = drawpage.getByIndex(n)
         if elem.supportsService("com.sun.star.drawing.GraphicObjectShape") then
           a_url(ubound(a_url)) =  elem.Name & ".jpg"
           props(0).Value = convertToURL(join(a_url, "/"))
           props(1).Value = elem.Graphic.MimeType
           GP.storeGraphic(elem.Graphic, props)
           on error resume next   'image could be anchored to page
           elem.Anchor.setString(elem.Name)
           drawpage.remove(elem)
         end if      
      next n
   next sheet
   msgbox "done"
end sub

Offline

#2 10. 4. 2020 18:04:01

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,468

Re: Export oříznutých fotografii makrem

Tohle asi nepůjde. Úprava fotek typu "oříznutí" se dá dělat jen v DRAW. Myslím si ale, že o "ořez" nejde. Spíš jde asi o změnu velikosti a pootočení.
     Takže řešením bude makro Draw které upraví obrázky (fotky) přímo v adresáři který se do Calcu načítá. Nevím jestli toto někdo dělal. Mám obavy o to, že asi nepůjde zjistit pootočení. Velikost by měla jít zjistit poměrem z Calcu s tím v originále. Jde o to, že v Calcu asi nebude správná šířka vložené fotky, pouze výška podle řádku. Ale těžko zjistit ke kterému původnímu rozměru se vztahuje.


     Teoreticky by šlo jednotlivou fotku uzavřít do buňky přesně a tím bychom dostali poměry skutečně použité v Calcu. Takto by se došlo i k tomu, že je obrázek otočený o 90°, nebo nikoliv, ale i tak by to mohlo být špatně protože stejný poměr má pootočení o 270° ( respektive +/- 90°), ale to bude spíš exotická výjimka. Pak by se mělo buď pootočení zaznamenat pro další použití, nebo přímo převzorkovat pomocí Draw, nebo externího editoru.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#3 10. 4. 2020 18:43:26

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 173

Re: Export oříznutých fotografii makrem

Jde jen o čistý export, pokud dám uložit fotografii ručně pravým klikem na fotografii tak se mě zeptá zda chci uložit původní nebo ořízlou. Tuším že v LO5 to ještě nešlo. v šestce je to už nějak ošetřené. Což o to pootočení je méně pro mě důležité to spíš to oříznutí.

Toto makro používám na export fotek z ceníku a jejich pojmenování v tabulce a následně to slouží v jiném programu aby si uměl natáhnout náhledy podle exportované tabulky.

Offline

#4 12. 4. 2020 10:41:37

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 173

Re: Export oříznutých fotografii makrem

Hledám kde se dá ale nevím jak na to. Kdyby někdo tušil tak přikládám soubor s makrem které funguje ale s tím že exportuje celý obrázek namísto ořezu do složky kde máte umístěnou danou tabulku.
CROP.png

Odkaz na tabulku s makrem ZDE

Offline

#5 15. 4. 2020 18:21:11

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Export oříznutých fotografii makrem

Co mě napadá je zkusit poslat dotaz na anglické fórum http://document-foundation-mail-archive … 39498.html - stalo se mi že mi tam pomohli když zde nikdo nevěděl, ale taktéž i že ani tam nikdo nevěděl (a nakonec po čase mě v tom problému něco napadlo co zafungovalo).


Zkoušel jsem na ten obrázek dát záznam makra a v podstatě to pouze vyvolá UNO příkaz .uno:SaveGraphic. Co mě ještě napadlo bylo zkusit vytvořit vlastní UNO příkaz -> že bych se nějak dostal k debugování toho příkazu .uno:SaveGraphic, změnil v něm potřebnou část a udělal z toho třeba nějaký vlastní rozšiřovací build. I když předpokládal jsem že to bude nad mé znalosti a také nejspíše je. Jak jsem třeba na https://niocs.github.io/LOBook/extensions/part1.html viděl C++ s nasazením v linuxu, tak jsem to defakto zabalil, to je na mě fakt moc a na učení se toho nemám čas ani náladu.

Offline

#6 18. 4. 2020 10:30:01

barevnej
Člen
Registrace: 6. 8. 2015
Příspěvků: 173

Re: Export oříznutých fotografii makrem

Děkuji za radu, ještě zkusím pohledat co by se s tím dalo dělat. Já v těch makrech fakt plavu, ať na to koukám jak koukám žádnou logiku v tom kódu nevidím smile)) Já se to snad na stará kolena budu muset doučit.

Offline

#7 18. 4. 2020 18:02:45

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,468

Re: Export oříznutých fotografii makrem

Dnes jsem se chvilku vrátil na některé resty. Napadlo mne vyzkoušet manuální postup a něco slibného jsem našel. Neřeší to sice vše, ale dá se ukládat s volbou velikosti.


Postup :
1.) klikneme do obrázku aby byl vybrán (obklopen úchopovými body)
2.) levým myšítkem zavoláme kontextové menu > zadáme ULOŽIT. Vyskočí dialog kterým můžeme určit cílovou adresu + zadáme název.
3.) Po stisknutí tlačítka vyskočí dialog MOŽNOSTI (v mém případě .jpg)
4.) Zde můžeme zadat buď výšku nebo šířku, rozlišení, barevná hloubka, a kvalita.
     Po potvrzení (OK) se to uloží. Rozměry jsou automaticky provázané, že se mění ve stejném poměru, ale dost dlouho se musí čekat (musel jsem kliknou na druhý rozměr, nežli se to přepočítalo), ale funguje to. To je ta dobrá část informace.
     Tak jsem to vyzkoušel nahrát abych netápal v kódu. Je to sice v UNU, ale to by moc nevadilo. Jenže nahrané makro obsahuje zakomentovaný řádek "dispatcher.executeDispatch(document, ".uno:SaveGraphic", "", 0, Array())". Dál je možné se dostat jenom pomocí speciálního rozšíření. To už nemám nainstalované, takže jsem skončil. Ale je to zřetelně cesta kterou lze jít.
     Problém může být v tom, že asi ne všechny formáty obrázků lze takto snadno upravit. Různé formáty pokud půjdou editovat, tak každý asi s jinou nabídkou. Ale náznak řešení to je.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

Zápatí