Portál AbcLinuxu, 3. května 2024 02:54


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
17.5.2007 20:04 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Generovani obrazku ve stupnich sedi
Odpovědět | Sbalit | Link | Blokovat | Admin
Neměl by být velký problém vygenerovat si podle požadovaných dat SVG obrázek (je to XML soubor) a ten následně překonvertovat v požadovaném rozlišení do nějaké bitmapy. Asi nejsnazší by bylo vytvořit XSLT šablonu a tu pak pustit vždy jen na datový soubor.

Zřejmě nebude problém ani naskriptovat něco takového v Gimpu. záleží na tom, s čím děláte a co umíte. Ostatně i ten PostScript můžete generovat nějakým skriptem či programem (to bude ale asi nejtěžší metoda, PostScrip není zrovna pro člověka přívětivý formát).
JiK avatar 17.5.2007 20:28 JiK | skóre: 13 | blog: Jirkoviny | Virginia
Rozbalit Rozbalit vše Re: Generovani obrazku ve stupnich sedi
Hmm, na to jsem asi moc blbej. na kazdy pad mne napadl jeste jeden pozadavek, ono to cele bude generovano tak 2-3x, takze ne nijak masove s milionem opakovani, klidne bych ocenil i nejaky napul rucni reseni.
18.5.2007 08:29 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Generovani obrazku ve stupnich sedi
Soustředné kružnice např. takto:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="600px" height="600px" version="1.1" viewArea="0 0 200 200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
	<title>Kruhy</title>
	<circle cx="100" cy="100" r="100" fill="rgb(100,100,100)" />
	<circle cx="100" cy="100" r="90" fill="rgb(255,255,255)" />
	<circle cx="100" cy="100" r="80" fill="rgb(130,130,130)" />
	<circle cx="100" cy="100" r="70" fill="rgb(158,158,158)" />
	<circle cx="100" cy="100" r="60" fill="rgb(200,200,200)" />
	<circle cx="100" cy="100" r="50" fill="rgb(250,250,250)" />
	<circle cx="100" cy="100" r="40" fill="rgb(010,010,010)" />
	<circle cx="100" cy="100" r="30" fill="rgb(078,078,078)" />
	<circle cx="100" cy="100" r="20" fill="rgb(123,123,123)" />
	<circle cx="100" cy="100" r="10" fill="rgb(111,111,111)" />
</svg>
Musí být malované z vnějšku dovnitř, protože se maluje celá kružnice, ne jen mezikruží. cx, cy je střed (pro všechny stejný), r je poloměr (postupně se zmenšující). Rozdíl sousedních poloměrů určuje tloušťku mezikruží. fill je barva, lze ji zadat i hexadecimálně (např. #CACACA). viewArea na začátku je plocha, do které se kreslí, pokud byste chtěl přidat např. dalších 10 kružnic s rozdílem poloměrů 10, zvětšete si jí na "0 0 400 400" a středy posuňte do "200, 200". width a height na začátku je přednastavená velikost obrázku, ale každý rozumný program vám umožní zoomovat.

Otevřít to půjde např. v Inkscape, nebo např. javovský Batik.
18.5.2007 08:42 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Generovani obrazku ve stupnich sedi
V předchozím příkladě "přelepte" vievBox za viewArea. A čtverce např. takto (x a y rostou postupně po desítkách od 0 do 150):
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="210mm" height="297mm" version="1.1" viewBox="0 0 160 226" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
	<title>Čtverce</title>
	<rect height="10" width="10" x="000" y="000" fill="rgb(100,100,100)" /> 
	<rect height="10" width="10" x="010" y="000" fill="rgb(020,020,020)" /> 
	<rect height="10" width="10" x="020" y="000" fill="rgb(200,200,200)" /> 
	<rect height="10" width="10" x="030" y="000" fill="rgb(158,158,158)" /> 
	<rect height="10" width="10" x="040" y="000" fill="rgb(030,030,030)" /> 
	<rect height="10" width="10" x="050" y="000" fill="rgb(111,111,111)" /> 
	<rect height="10" width="10" x="060" y="000" fill="rgb(255,255,255)" /> 
	<rect height="10" width="10" x="070" y="000" fill="rgb(200,200,200)" /> 
	<rect height="10" width="10" x="080" y="000" fill="rgb(100,100,100)" /> 
	<rect height="10" width="10" x="090" y="000" fill="rgb(020,020,020)" /> 
	<rect height="10" width="10" x="100" y="000" fill="rgb(200,200,200)" /> 
	<rect height="10" width="10" x="110" y="000" fill="rgb(158,158,158)" /> 
	<rect height="10" width="10" x="120" y="000" fill="rgb(030,030,030)" /> 
	<rect height="10" width="10" x="130" y="000" fill="rgb(111,111,111)" /> 
	<rect height="10" width="10" x="140" y="000" fill="rgb(255,255,255)" /> 
	<rect height="10" width="10" x="150" y="000" fill="rgb(200,200,200)" /> 

	<rect height="10" width="10" x="000" y="010" fill="rgb(133,133,133)" /> 
	<rect height="10" width="10" x="010" y="010" fill="rgb(097,097,097)" /> 
	<rect height="10" width="10" x="020" y="010" fill="rgb(014,014,014)" /> 
</svg>
17.5.2007 22:43 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Skládaní na papír
Odpovědět | Sbalit | Link | Blokovat | Admin
Spoustu malych PS lze vyskladat na vetsi papir pomoci psnup.
andree avatar 17.5.2007 23:38 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: Generovani obrazku ve stupnich sedi
Odpovědět | Sbalit | Link | Blokovat | Admin
ked to vies popisat matematicky pre bod (x,y), nie je nic jednoduchsie ako napisat si napr. v Ccku primitivny programik, co to nahadze do pola danych rozmerov a potom exportuje do PGM (portable greymap)... ten vie importovat vacsina unixovych grafickych programov, myslim
JiK avatar 18.5.2007 02:31 JiK | skóre: 13 | blog: Jirkoviny | Virginia
Rozbalit Rozbalit vše Re: Generovani obrazku ve stupnich sedi
hmm, v cecku jsem se nikdy nedostal ani na konec prvni kapitoly Heroutovy ucebnice. takze tudy asi cesta nevede.
20.5.2007 17:38 balino
Rozbalit Rozbalit vše Re: Generovani obrazku ve stupnich sedi
OT: odporucam knihu od Kernighana a Ritchieho - The C programming Language. Ta bola (aspon pre mna) pisana zrozumitelnejsie.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.