Newsgroup: it.comp.lang.visual-basic
Titolo: [?] come stampare solo il contorno di una scritta?

ciao a tutti.
oggi penso di avere un problema simpatico, nel senso che non e' la
solita domanda :)
neppure gugol mi ha saputo fornire qualche suggerimento, quindi sono
qua a chiedere a voi.
ho necessita' di stampare alcune scritte, ma devono venire solo come
sottile bordo esterno. un bordo *molto* sottile, il piu' possibile. un
nientesimo(r) di poco andrebbe benissimo.
non so se avere un font "vuoto" --cioe' un bordo esterno senza
riempimento di colore-- mi risolverebbe il problema, ma non avendone
non sono in grado di provare :)
diciamo che quello che devo --assolutamente-- fare e' fare una stampa
tipo con coreldraw, nel quale uno puo' specificare separatamente il
fill e il border dei testi stampati. naturalmente, io metterei fill
niente e border sottile nero. devo stampare su una fresa per incisione
di superfici in alluminio e quindi la stampa di testi "pieni" mi
richiede alcune ore per stampare qualcosa che si puo' fare in 3
minuti.
al di la' che non so dove cercare documentazione in proposito,
eviterei di gestire "a mano" la stampa come sequenza di linee e curve
"aprendo" il font true type e vedendo com'e' fatto perche' c'e' da
diventarci vecchi.
come sempre, ringrazio in anticipo per ogni aiuto o puntatore a
documentazione.
-- 
      Gianni "bugbarbeq" Rondinini, 27+15, RA, 193, 152
   VBR - Vero Birro RomagnoloŽ, diffidate dalle imitazioni!
 BMW 530D "BatMobile EVO" Driver - Escortone da 500 CV dreamer
Kawasaki "Gas Gas" ZZ-R 1100 - HD Electra Ultra Classic Dreamer
   On contrary of popular belief, Unix *IS* user friendly:
    it just appears to be selective who it is friend with

 non sono in grado di provare :)
Bel problemino :)
La soluzione più facile (e credo anche più sicura e veloce) è quella di 
trovare il font che cerchi: ci sono siti a non finire, imho in poco 
tempo potresti trovare il font che ti serve e hai risolto il problema. 
Alternativamente proverei a scrivere il testo con un carattere 
qualunque, prima in nero e poi in biano ma un nientesimo(r) più piccolo 
e spostato in basso/destra. Se non funziona direttamente sulla stampa 
puoi comporre il tutto su una picturebox e poi mandare in stampa 
l'immagine ottenuta.
-- 
 __   __  ___   
|  | |  |/ __|  
|  |_|  |\__ \  ICQ #73176037 #162857023
|____|__||___/ 

 piccolo e spostato in basso/destra. Se non funziona direttamente
Avevo pensato anch'io a questa soluzione ma in questo caso l'i-esimo
carattere scuro dovrebbe sfasarsi man mano di un nientesimo*i rispetto al
carattere chiaro. Oppure bisognerebbe gestire lo spazio tra i singoli
caratteri! :(
Anche per me la ricerca del font adatto è la soluzione migliore.
Ciao

 non sono in grado di provare :)
Due tipi di font che ti possono essere utili:
Swis721
Geometr885
se vuoi provarli te li posso spedire.
--
bye BlackMagic
ICQ: 85485468
Aiuta la ricerca sul cancro 
http://members.ud.com
Join
at:
http://members.ud.com/services/teams/team.htm?id=2E71C62A-8E67-48DB-B472-
BCA129B35412

se vuoi provarli te li posso spedire.
ti chiederei di mandarmeli, cosi' vedo se con questi riesco a
risolvere il problema.
grazie di cuore.
-- 
      Gianni "bugbarbeq" Rondinini, 27+15, RA, 193, 152
   VBR - Vero Birro Romagnolo®, diffidate dalle imitazioni!


trovare il font che cerchi: ci sono siti a non finire, imho in poco 
vedi, ho un font che a video e' composto da sole righe molto sottili.
qualcosa tipo outlined o simili. il problema, pero', e' che viene
inviato alla "stampante" come raster e quindi stampato per righe
orizzontali a piccolissimi puntini uno vicino all'altro.
quando, con coreldraw --originale con licenza, n.d.r.--, stampo una
scritta, invece, il programma invia la stampa come sequenza di curve
ed archi e quindi la "stampante" --correttamente-- si muove lungo
curve ed archi rettilinei, in modo --quindi-- molto veloce.
comunque grazie per l'indicazione.
-- 
      Gianni "bugbarbeq" Rondinini, 27+15, RA, 193, 152
   VBR - Vero Birro Romagnolo®, diffidate dalle imitazioni!


 risolvere il problema.
inviati...

 caratteri! :(
La gestione della distanza fra caratteri è una cosa semplicissima, per cui
credo che questa strada possa essere interessante.
Il codice per la gestione della distanza fra caratteri proporzionali è stato
postato qualche tempo fa in un thread su come incolonnare in una listbox.
Ciao
Alberto

 nientesimo(r) di poco andrebbe benissimo.
Se cerchi qualcosa di più generico direi di affidarti alle funzioni di Path
dell'API.
In teoria funziona così: dato una scritta eseguita con un font truetype se
ne ricava il path, cioè appunto il contorno.
Poi si dà in pasto questo a funzioni grafiche.
In pratica non ho mai provato.
Prova a cercare in MSDN "Path Functions", o "BeginPath" e relativi.
Se stai seguendo ancora il trhead provo a cercare un vecchio articolo di VBJ
dove si accennava a 'sta robba.
Ciao
--
y = f(
http://neodatatype.interfree.it/index.html
)

dove si accennava a 'sta robba.
ti pago se mi risolvi il problema. dimmi solo la cifra e l'indirizzo
per la fattura :)
saluti.
-- 
      Gianni "bugbarbeq" Rondinini, 27+15, RA, 193, 152
   VBR - Vero Birro Romagnolo®, diffidate dalle imitazioni!


 per la fattura :)
Che dici, ti passo il debito di una birra (delle otto circa che gli devo)
verso Roal Zanazzi ? :-)
Bye, G.

 TextOutline.zip
Che dire... mi hai risparmiato un lavoraccio :)


 Che dire... mi hai risparmiato un lavoraccio :)
Se tu sapessi quanti ne hai risparmiati a me... mi manderesti una fattura :-)
Bye, G.


http://www.mvps.org/vb/code/TextOutline.zip
provo e vedo se ottengo qualcosa di buono :)
grazie :)


grazie :)
su picturebox in effetti funziona bene.
non riesco a farlo andare su stampante: tu sei riuscito?
saluti e grazie.


 non riesco a farlo andare su stampante: tu sei riuscito?
Ora ci provo e ti faccio sapere. Mi pare si possa usare
l'handle della stampante, dopo averla inizializzata con un
Print "";
ma vado a intuito.
P.S.: Appena hai un attimo, sistemeresti quell'Agent
con nostalgie monarchiche ?
Pap.Re:Re:Re:

 non riesco a farlo andare su stampante: tu sei riuscito?
Yep, pare vada, con qualche stranezza. Allora: ovviamente
devi iniziare col cambiare tutti i riferimenti a "Picture1" in
"Printer" nel codice; poi, siccome lavora in pixel, devi usare
un Outline di almeno 30 pixel, su una laser per esempio,
per vedere qualcosa. In terzo luogo, e per lo stesso motivo,
la dimensione del font cambia; su una 600 dpi ho provato
a moltiplicare per 4 e più o meno ci siamo, fai un paio di prove.
Infine, siccome ovviamente questo sistema funzia solo
con i font TrueType, accertati che il driver scarichi i font sulla
stampante (anche se penso funzioni anche con i PostScript
tipo 1, se hai ATM installato). Mi auguro che la tua fresa
interpreti il PostScript... o che il driver crei qualcosa di equivalente.
Bye, G.