Newsgroup: it.comp.grafica
Titolo: postscript

Ciao!
Una piccola info...usando freehand posso settare delle texture postscript
(PS),
mi chiedevo (non sono riuscito a trovare nulla fin'ora) la mia espon stylus
photo 895 supporta tale tecnologia?
dove posso trovare argomentazioni su questo (e magari il driver ps per la
stampante)?
grazie a tutti in anticipo...
ApWizard

 stampante)?
epson vende un RIP postscript: stampi in postscript e il RIP interpreta tale
linguaggio e rasterizza per la stampante.
Attenzione che i riempimenti postscript procurano un pesantissimo lavoro al
rip
ciao
rodolfo

 ha scritto nel messaggio
news:b5pioh$qjh$1...@galileo.it.ip-plus.net...


perche' mai dare una soddisfazione ad un programmatore?
dai ogni tanto se le meritano (vedi il nostro prode Nightprowler) :)
Valvola Digitale
Le FAQ Ufficiali di it.comp.grafica
http://www.digitalvalve.net/faq/faq.php
"spesso ciň che paghi poco vale poco" (©)

 dai ogni tanto se le meritano (vedi il nostro prode Nightprowler) :)
grazie a tutti per i suggerimenti ^_________^
ApWizard
ps: per i ringraziamenti "globali" :D a chi devo rispondere??? all'ultimo
post? :D

Rodolfo in combutta con Alessandro: 
R> Attenzione che i riempimenti postscript procurano un pesantissimo lavoro al
R> rip
A> Alcuni anni fa' dirigevo una prestampa... i riempimenti postcript che
A> andavano tanto di moda tra i grafici in quel periodo sono stati una delle
A> ragioni per cui sono tornato alla libera professione... Scherzi a parte,
A> riempimenti a mattonella e riempimenti postscript sono pericolosi,
A> affaticano i rip, rubano tempo, generano errori e tutto sommato non se ne
A> sente la mancanza, sono un vezzo dei programmatori che hanno deciso per
A> questa via di tendere trappole a noi poveri grafici: perche' mai dare una
A> soddisfazione ad un programmatore?
Da Level 2 in poi il tipo di riempimento che descrivete 
può essere implementato tramite i tiling patterns PostScript 
che sono uno dei piccoli gioielli Adobe capaci di realizzare 
effetti grafici molto elaborati con un carico computazionale 
ridotto al minimo. In particolare, per quanto attiene ai tiling 
patterns è prevista l'implementazione da parte dell'interprete 
di una strategia di caching. 
Nello specifico, credo poi probabile che Freehand sfrutti 
questa opportunità quando deve stampare i riempimenti in 
questione su dispositivi PostScript non obsoleti. 
Avete un riempimento problematico con il quale potete 
illustrare le difficoltà descritte? 
Per inciso, questi argomenti non sono vezzi da programmatori 
ma materia di accurata progettazione da parte dei migliori 
ingegneri software. 
gio

ingegneri software.
Lasciamo volentieri la comunita' degli ingegneri alle proprie sofisticate e
sublimi elucubrazioni, lanciando verso di loro un pensiero di gratitudine
eterna per tutti i programmi che hanno creato per migliorare la nostra vita
quotidiana ma senza alcun rimorso, per aver deciso tempo fa' di non
utilizzare funzioni problematiche di un programma, per il resto
eccezzionale, che in altre funzioni ha il pregio di presentarsi semplice ed
intuitivo per noi poveri grafici, che poco ne capiamo di queste astruserie
da Ingegneri... (c'e' da avere pazienza... grafici nascemmo e grafici
moriremo...)
pedro

 soddisfazione ad un programmatore? 
'Vezzo'? 'Trappole'? 'Soddisfazione'? Ecch'è sta tirata? 
Posso sperare che tu stessi scherzando? 
Di 'sofisticato' e di 'sublime' non vi è nulla e non è accettabile 
che tu derida il lavoro di altre persone; né peraltro si tratta di 
perdersi in 'astruserie' o 'elucubrazioni' di sorta. Al contrario, 
alla base del tiling pattern sta una logica semplice semplice: 
quando si deve produrre un disegno costituito dalla ripetizione di 
un modulo fisso si può sì eseguirlo con tanta pazienza trattando 
ogni suo elemento come un'entità indipendente, ma è senza dubbio 
più pratico usare un timbro. 
E proprio come avviene con il timbro, il riempimento tiled consente 
di descrivere una sola volta l'elemento base e di chiederne poi la 
replica secondo determinate modalità: la gestione a video da parte 
dell'applicativo risulta snellita sia dal punto di vista dei tempi 
di elaborazione che nell'utilizzo della memoria, il file di stampa 
risulta decisamente ridotto e, da ultimo, migliorano anche il tempo 
di interpretazione e l'uso della memoria da parte del rip. Ciò non 
porta ad alcuna complicazione nel codice e non aumenta neppure 
marginalmente la probabilità di incorrere in errori PostScript. 
Butto là un'ipotesi: può darsi che la tua esperienza sia 
legata all'uso di dispositivi Level 1, ormai praticamente 
scomparsi dall'ambito professionale, per i quali era necessario 
ricorrere in output all'espansione del riempimento come sequenza 
di elementi base. Così come il disegno di centinaia di mattonelle 
identiche può provocare crampi al polso, l'espansione di cui sopra 
può facilmente rallentare il rip, aumentare (di molto) la quantità 
di ram necessaria e, sopratutto, generare una delta list composta 
da una miriade di punti di Bézier che possono portare al mitico 
errore limitcheck, vero babau dei service negli anni 80 e nei 
primi 90; può quindi darsi che ciò che tu critichi non siano i 
tiling pattern ma, al contrario, la loro mancata applicazione. 
Ipotesi intrigante, nevvero? 
Vedo poi che chiami in causa anche i riempimenti 'PostScript' 
come distinti dai riempimenti 'a mattonella' ai quali peraltro 
li equipari nella tua critica. 
I riempimenti 'PostScript' non sono texture ma procedure che 
hanno lo scopo di disegnare una forma definita in Freehand con 
effetti grafici _non_ implementati dal programma: tali riempimenti, 
a differenza delle texture, non sono certo pensati per un uso 
generalizzato e, sopratutto, la loro implementazione richiede 
competenze specifiche. 
Ciò che più conta, per essi non è neppure pensabile l'accusa di 
essere intrinsecamente portati ad appesantire il rip e a generare 
errori PostScript: si tratta semplicemente di contenitori che è 
prerogativa di noi utenti riempire con il codice che più ci aggrada; 
le conseguenze dell'esecuzione di tale codice nulla hanno a che 
vedere con il concetto di "riempimento PostScript" in sé e per sé. 
Per chiudere, fornisco un esempio di riempimento PostScript che pare 
smentire le tue apprensioni. È una mia modifica del codice inserito 
nella documentazione di Freehand 10 per Mac e gira senza problemi sui 
quattro interpreti di cui dispongo (lo ScriptWorks Harlequin della 
fotounità, il CPSI della Docuprint N2025, il CPSI della Epson 2100 
e Distiller 5.0.5 per Mac). 
All'originale ho tolto il codice inutile e alcuni bachi e ho aggiunto 
il colore; poi mi sono fermato per non sforare il limite di 250 
caratteri (in fondo trovi una versione che si svincola da tale limite). 
Note: 
- occorre togliere gli a capo 
- un migliore generatore di numeri casuali si otterrebbe alimentando 
  srand con qualcosa del tipo "vmstatus pop exch pop" invece che con 
  il numero 1 ma occorrerebbe togliere qualcos'altro per fargli spazio; 
  cambiando l'1 si può tuttavia ottenere un nuovo motivo grafico, per 
  quanto manualmente 
- allo stesso modo non c'è spazio per trattare compiutamente il raggio: 
  se i cerchi risultano troppo grossi si può variare manualmente il 
  numero 30 
- una persona dotata di un qi decente e di un minimo di creatività 
  ideerebbe di sicuro applicazioni più fantasiose: io e l'estensore 
  di questo esempio abbiamo significativamente avuto la stessa idea, 
  con la sola differenza che io avevo pensato a dei rettangoli 
  ruotati (Dio li fa e poi li accoppia, sigh! xx:) 
Ecco lo snippettino: 
----------
1 srand eoclip pathbbox 4 copy pop pop translate 3 -1 roll sub cvi 3 1 
roll exch sub cvi newpath 100 {2 copy rand exch mod exch rand exch mod 
rand 30 mod 1 add 0 360 arc 3 {rand 100 mod 100 div} repeat setrgbcolor 
fill} repeat pop pop
---------- 
Ogni segnalazione dei bachi al mio indirizzo personale o su icg sarà 
ricompensata con nientedimeno che la mia più profonda gratitudine. 
gio 
(più scialone che mai)
PS 
Qui inserisco un'altra versione che, grazie al fatto di utilizzare 
il file UserPrep di Freehand, può realizzare alcuni perfezionamenti 
che fanno crescere lo snippolo oltre il limite dei 250 caratteri. 
Il codice deve appunto essere salvato come file di testo con un 
nome qualunque e inserito nell'apposita cartella menzionata dalla 
documentazione di Freehand (btw, non ho idea di quale sia stata la 
prima versione a supportare questa funzione); questo file deve poi 
essere selezionato nelle preferenze di Freehand come lo UserPrep 
file e a questo punto nel box di testo del riempimento è sufficiente 
inserire 'randcircles' che richiama la procedura. Come si intuisce 
facilmente, questo meccanismo permette di costruirsi una libreria 
da condividere tra i documenti e di attivare gli effetti grafici 
semplicemente digitandone il nome. 
Note: 
- ho inserito dei commenti per quei due o tre di noi che soffrono della 
  cronica penuria di passatempi così caratteristica delle isole deserte 
- il codice rallenta mostruosamente l'esecuzione ricorrendo a variabili 
  contenute in un dizionario ad hoc: è un po' roba da mammole ma è molto 
  più semplice da scrivere e da decifrare  x:)  <- Dr Stack, I suppose 
- è fattibile una versione che consenta di inserire i parametri (ossia 
  densità e raggi) direttamente da Freehand: nel caso interessi, basta 
  un fischio 
----------
% texture con cerchi random
/randcircles 
{
% seed per il generatore di numeri casuali (well, sort of :)
vmstatus pop exch pop srand   
% limita il clipping path al tracciato di Freehand 
eoclip 
% si procura il bounding box del tracciato di Freehand
pathbbox
% posiziona l'origine delle coordinate nell'angolo 
% in basso a sinistra del bounding box
4 copy pop pop translate
% crea e carica il nostro dizionario
6 dict begin 
% calcola e immagazzina larghezza e altezza del tracciato 
3 -1 roll sub cvi /altezza exch def
exch sub cvi /larghezza exch def
% densita', raggio minimo e raggio massimo: 
% per variarli e' sufficiente cambiare i numeri 
/densita 0.005 def
/raggiominimo 4 def
/raggiomassimo 15 def
/gapraggi raggiomassimo raggiominimo sub 1 add def
newpath 
% numero di cerchi da generare 
larghezza altezza mul densita mul cvi dup 0 eq {pop 1} if
{
% posizione random del centro del cerchio 
rand larghezza mod 
rand altezza mod
% raggio random del cerchio
rand gapraggi mod raggiominimo add 
% traccia il cerchio
0 360 arc 
% prepara il colore
3 {rand 100 mod 100 div} repeat setrgbcolor 
% riempie il cerchio con il colore
fill
} repeat 
% pop del nostro dizionario
end
% bye-bye
} def
----------

 essre considerato in combutta con Rodolfo e' un onore che mi inorgoglisce
Alex, tienti forte: stavo solo scherzando.
Dovresti sapere che su icg cazzeggiamo spesso senza peraltro
avvertire la necessità di :) inserire faccine ==:) una parola
sì :P e una no. <8)
<frush frush>   :-)   ;-)   ~8-)   x:-)   :-P


 nel frattempo mi devi una birra per il romanzo che mi hai fatto leggere
A parte il fatto che alla lunga andresti a rischio 
di etilismo, sei tu a doverci una cassa del migliore, 
per il modo in cui quoti.   ;PPP 
E ripeto: "del migliore". 
Niente scremato o dfire s'infuria.   :) 
gio muuuuu 
(la cui desolata contemplazione dello scaffale delle birre 
è tra le attrattive di punta del Gigante di Daverio) 
PS 
Bada Valvola, se t'azzardi a fare battute...

 cronica penuria di passatempi così caratteristica delle isole deserte"
uè, che hai contro le isole deserte? ç,ç
ci si sta benissimo, e fanno una grappa così forte che la gradisce anche
la mia macchina: mi fa 100km con un litro. Il problema sta nel farle
tenere la strada, va a zig zag come un moscone del Botswana infilatosi
per errore in un Ghibli.
Un altro giorno ti parlerò dei passatempi che ci sono in un'isola
"deserta"... 
/voglio un clone: Digitale Valvola, così lo metto a lavorare al posto
mio...

per il modo in cui quoti.   ;PPP
Se cerchi scuse per non offrirmi una miserrima birrozza... che parliamo a
fare?... ;P

 nel frattempo mi devi una birra per il romanzo che mi hai fatto
Caro Alessandro...
sarai anche un caro ragazzo ma quoti in modo davvero pietoso.
Moloko/e non maltrattarci agv... ci regala post in vero un po' verbosi ma
sembre molto utili e professionali :P