abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 01:44 | Nová verze

V únoru 2014 bylo hlasováním rozhodnuto, že výchozím init systémem v Debianu je systemd. V listopadu stejného roku bylo hlasováním rozhodnuto, že o podpoře dalších init systémů v Debianu není celoprojektové hlasování nutné. Po pěti letech už ale hlasování o init systémech a systemd nutné je. Vybírá se z 8 možností. Výsledek hlasování bude zveřejněn po 27. prosinci.

Ladislav Hagara | Komentářů: 0
dnes 00:11 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot, se rozhodl, že svůj komiks vydá také knižně a ve vlastní režii. Komiks již knižně vyšel ve francouzštině ve vydavatelství Glénat. David Revoy jej vydá v angličtině a použije pouze svobodný software. O své zkušenosti se dělí ve dvou příspěvcích na svém blogu. Z plánovaných dvou týdnů práce se staly dva měsíce. Vydání před Vánocemi se nestihne. Kontrolní výtisk má příliš jasné barvy, obrázky v knihách od Glénatu vypadají mnohem lépe, …

Ladislav Hagara | Komentářů: 0
včera 20:44 | IT novinky

Mezinárodní konsorcium W3C (World Wide Web Consortium) vydalo verzi 1.0 základní specifikace WebAssembly a po HTML, CSS a JavaScriptu prohlásilo WebAssembly za čtvrtý oficiální jazyk pro web.

Ladislav Hagara | Komentářů: 1
včera 13:33 | Komunita

Hlasování o obrázku v okně O Inkscapu 1.0 pokračuje druhým kolem. Ze 124 obrázků postoupilo do finálního hlasování 5 s nejvíce hlasy. Výsledek hlasování bude zveřejněn po jeho ukončení, tj. po 15. prosinci.

Ladislav Hagara | Komentářů: 1
včera 02:11 | IT novinky

Společnost Purism představila mobilní telefon Librem 5 USA. Jedná se o telefon Librem 5 vyráběný v USA. Předobjednat jej lze za 1 999 dolarů. Librem 5 lze předobjednat za 699 dolarů.

Ladislav Hagara | Komentářů: 35
5.12. 22:22 | Nová verze

Příspěvek na blogu organizace Electronic Frontier Foundation (EFF) informuje, že Certbot, tj. oficiální klient certifikační autority Let’s Encrypt, dospěl do nové stabilní verze 1.0. Oficiálně tak byla ukončena beta fáze jeho vývoje. Certbot byl představen v květnu 2016.

Ladislav Hagara | Komentářů: 0
5.12. 15:55 | Zajímavý software

Mozilla vydala novou verzi 0.6 svobodného softwaru DeepSpeech pro převod řeči na text. Přehled novinek v příspěvku na blogu Mozilla Hacks.

Ladislav Hagara | Komentářů: 4
4.12. 17:33 | Zajímavý projekt

Dnes měl na YouTube premiéru krátký sci-fi film SKYWATCH. Colin Levy na něm strávil téměř 6 let. Pro vytvoření 3D grafiky byl vybrán Blender. Film byl z části financován z kampaně na Kickstarteru.

Ladislav Hagara | Komentářů: 3
4.12. 05:55 | Zajímavý software

Netflix uvolnil framework pro datovou vědu Metaflow jako open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache 2.0.

Ladislav Hagara | Komentářů: 44
3.12. 21:33 | Nová verze

Byla vydána nová verze 4.1 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Opravena byla také řada bezpečnostních chyb.

Ladislav Hagara | Komentářů: 3
Jaké hodinky nosíte (nejčastěji)?
 (23%)
 (6%)
 (17%)
 (54%)
Celkem 506 hlasů
 Komentářů: 135, poslední včera 20:54
Rozcestník

OpenOffice Impress - škálování obrázku na velikost slidu

11.3.2009 12:14 | Přečteno: 1114× | OpenOffice | poslední úprava: 11.3.2009 12:47

Funkce uveřejněného makra: Vybraný obrázek (či jiný objekt) zvětší tak, aby se právě vešel na velikost slidu. Přitom ponechá původní poměr stran.

Podotýkám, že nikdy nebylo mým přáním studovat dokumentaci k OpenOffice Basic. A ani v tomto směru nehodlám směřovat svůj osud. Nicméně když jsem se ocitl před problémem, který bez napsání vlastního makra vyřešit nešel, co mi zbývalo.

Dostal jsem do ruky powerpointovou prezentaci (mimochodem ve výsledku úspěšnou), která kromě textových slidů obsahovala velké množství samostatných fotografií. Nicméně autor je ponechal tak, jak je vložil, tudíž v závislosti na rozlišení značně rozsah slidu přesahovaly či ho naopak nezakrývaly celý. Půl hodiny jsem trávil hledáním řešení přes standardní funkce OO, nicméně k výsledku jsem se nedobral. Ani google mi v tomto nepomohl (nenabídl ani makro). Než manuálně (a nepřesně) měnit roztahovat desítky obrázků, rozhodl jsem se sáhnout k systémovějšímu řešení.

Výsledkem je makro CenterScaledObject, které přesně plní zadání: je-li v OpenOffice Impress (či OpenOffice Draw) vybraný právě jeden objekt, po spuštění makra jej zvětší na velikost slidu, zachová poměr velikostí a umístí jej do středu. Je-li vybráno více objektů nebo žádný, ohlásí chybu.

Uveřejňuji zde makro v dobré víře, že by někomu mohlo být užitečné, případně že někdo v něm najde mušky, které by stály za opravení nebo vylepšení (např. je možné, aby různé slidy v prezentaci měly různou velikost => má smysl se ptát po slidu, na kterém obrázek je?).

'Scales selected object so that it just fits into the slide while keeping the aspect ratio.
Sub CenterScaledObject
	'Get selection
	oSelection = ThisComponent.CurrentSelection

	'Check for errors - either there is nothing selected or there are too many objects
	If isNull(oSelection) Then
		MsgBox("No object selected.")
	ElseIf oSelection.count <> 1 Then
		MsgBox("Too many objects selected - select just one.")
	'Now there should be only one object selected    	
	Else
		'The selected object will be represented by selected
		selected = oSelection.getByIndex(0)
		
		'Select the page so that we know to which to scale	
		page = ThisComponent.drawPages(0)
		'***TODO: Possibly there are slides of different sizes?
		'***However we take the size of the first one

		'Get actual size of the object
		w = selected.Size.Width
		h = selected.Size.Height
		
		Dim size As New com.sun.star.awt.Size    'New size
		Dim point As New com.sun.star.awt.Point   'New position
		
		'Default values - only one will change
		point.x = 0
		point.y = 0
		
		'Calculate the position and size
		If (w / h) > (page.Width / page.Height) Then
			size.Width = page.Width
			size.Height = Int(page.Width * h / w)
			point.y = Int((page.Height - size.Height) / 2)
		Else
			size.Height = page.Height
			size.Width = Int(page.Height * w / h)
			point.x = Int((page.Width - size.Width) / 2)
		End If
		
		'Resize
		selected.setSize(size)
		'And move to the center
		selected.Position = point
		'DONE
	End if
End Sub
       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.