%!PS % My eBay photo secrets GG22 % ============================================ % by Don Lancaster /ggnum 22 store % Copyright c 2002 by Don Lancaster & Synergetics, Box 809, Thatcher, AZ, 85552 % (928) 428-4073 Email: don@tinaja.com Website: http://www.tinaja.com % Consulting services available http://www.tinaja.com/info01.html % Linking welcome. Reposting expressly forbidden. % All commercial rights and all electronic media rights ~fully~ reserved. % Linking usually welcome. Reposting expressly forbidden. Version 1.1 % Tutorial shows how to replace or eliminate PowerPoint to gain better web % appearance, improved linking and faster downloading. % IMPORTANT NOTE: Don Lancaster's file gonzo.ps is required for this program. % After obvious location mods, uncomment ONE of the following two lines: (C:\\windows\\desktop\\gonzo\\gonzo.ps) run % use internal gonzo % (A:\\gonzo.ps) run % use external gonzo % NOTE THAT ALL PS FILENAME STRINGS !!!DEMAND!!! DOUBLE REVERSE SLASHES. % GONZO20A Guru Gonzo PostScript power tools (Interim release) % Includes gonzo justification and layout utilities. % Copyright c 1990, 1996, 2001 by Don Lancaster and Synergetics, Box 809, % Thatcher Arizona, 5552 (928) 428-4073 don@tinaja.com support % via http://www.tinaja.com All commercial rights and all electronic % media rights **FULLY** reserved. Reposting is expressly forbidden. %%%%%%%%%%% links menu directory %%%%%%%%%%%% % This code locks pdfmark commands out of a PostScript printer. /pdfmark where {pop}{userdict /pdfmark /cleartomark load put} ifelse % /surl "start url" marks the beginning of a text sequence to be urled. % It also paints the text blue... /surl {mark /blue cvx 0.33 /setgray cvx % change text to blue /currentpoint cvx % remember box start /urly /exch cvx /store cvx /urlx /exch cvx /store cvx ] cvx % complete deferred command printlist exch 3 index exch put % stuff into gonzo printlist exch 1 add exch % increment gonzo list count } def % /eurl "end url" unmarks the end of a text sequence and sets up % the pdfmark needed to define the Acrobat web link. /eurl {mark % start deferred proc exch % position url string % /black cvx 0 /setgray cvx % turn blue marker off % maintextcolor /setrgbcolor cvx % reset to main text color??? /aqua cvx /black cvx /makeurl cvx % defer call of url builder ] cvx % complete deferred proc printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch % increment gonzo list count } def % /makeurl generates the pdfmark, receiving a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /urlover 0.2 def % fraction of hot area over bounds /makeurl { /cururlname exch store % save the url string mark % start pdfmark currentfont /ScaleMatrix get 3 get /fsize exch store % guess height /Rect [ urlx fsize urlover mul sub % set box left x urly fsize urlover mul sub % set box left y currentpoint exch fsize urlover mul add exch fsize add ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def % /makeurlx generates the box specific pdfmark, receiving % a {(urlstring) makeurl}. % Note that it is not called until formatted printlist time... /makeurlx { /cururlnamex exch store % save the url string mark % start pdfmark /Rect [ xpos % set box left x ypos 0.9 sub % set box left y xpos 2.8 add % box right x ypos 0.9 sub 2.8 add % box right y ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def /maintextcolor {0 0 0 } def % text link specific data -- use dictionary instead below { /cubic01 {(http://www.tinaja.com/cubic01.asp) eurl} def /hack62 {(http://www.tinaja.com/glib/hack62.pdf) eurl} def /increment {(http://www.tinaja.com/text/bezgen3.html) eurl} def /interpolate {(http://members.bellatlantic.net/~vze2vrva/design.html) eurl } def /bezmath {(http://www.tinaja.com/text/bezmath.html) eurl } def /table {(http://www.tinaja.com/psutils/imtable.psl) eurl } def } pop % dictionary method << %zzzzz %%%% unused links have been commented for gg9a simplicity /pdf2bmp (http://www.tinaja.com/psutils/pdf2bmp.psl) /bitmfont (http://www.tinaja.com/psutils/bitmfont.txt) /antifontpsl (http://www.tinaja.com/psutils/antifont.psl) /antifonttxt (http://www.tinaja.com/psutils/antifont.txt) /histog01 (http://www.tinaja.com/psutils/histog01.psl) /swingtlt (http://www.tinaja.com/glib/swingtlt.pdf) /newsamoe (news:///alt.marketing/online.ebay) /webtrends (http://www.netiq.com/webtrends/default.asp) /stegan (http://63.140.207.28/books/bkwater.asp) /nodi (http://www.pages.ebay.com/help/community/notice-infringe2.pdf) /ebayvero (http://www.pages.ebay.com/help/community/vero-program.html) /aboutme (http://members.ebay.com/aboutme/abeja/) /magfill2 (http://www.tinaja.com/psutils/magfill2.psl) /bmprpt01 (http://www.tinaja.com/psutils/bmprpt01.psl) /waywere (http://www.tinaja.com/glib/waywere.pdf) /nikon (http://www.nikon.com) /bayer (http://www.coreco.com/Web/wbtools3.nsf/0/87fce126f109ea3a05256c7100591c9a?OpenDocument) /hewpack (http://www.hp.com) /auct01 (http://www.tinaja.com/auct01.asp) /blat01 (http://www.tinaja.com/auct01.asp) /moreebay (http://www.tinaja.com/glib/moreebay.pdf) /auctscne (http://www.tinaja.com/glib/auctscne.pdf) /autourl (http://www.tinaja.com/glib/autourl.pdf) /msintro1 (http://www.tinaja.com/glib/msintro1.pdf) /msintrosource (http://www.tinaja.com/glib/msintro1.psl) /knockout (http://www.tinaja.com/glib/knockout.bmp) /stepsynt (http://www.tinaja.com/glib/stepsynt.pdf) /msintro1 (http://www.tinaja.com/glib/msintro1.pdf) /msinprop (http://www.tinaja.com/glib/msinprop.pdf) /muse106 (http://www.tinaja.com/glib/muse106.pdf) /muse142 (http://www.tinaja.com/glib/muse142.pdf) /math01 (http://www.tinaja.com/math01.asp) /cubic01 (http://www.tinaja.com/cubic01.asp) /bez4pts (http://www.tinaja.com/glib/bez4pts.pdf) /muse145 (http://www.tinaja.com/glib/muse145.pdf) /muse148 (http://www.tinaja.com/glib/muse148.pdf) /curveft3 (http://www.tinaja.com/psutils/curveft3.psl) /fuzzybez (http://www.tinaja.com/glib/fuzzybez.pdf) /bmprpt01 (http://www.tinaja.com/psutils/bmprpt01.psl) /nowhit01 (http://www.tinaja.com/psutils/nowhit01.psl) /blender (http://www.tinaja.com/psutils/blender.psl) /speedup2 (http://www.tinaja.com/glib/speedup2.pdf) /histog01 (http://www.tinaja.com/psutils/histog01.psl) /imgviewer32 (http://www.arcatapet.net/imgv32.cfm) /basis (http://www.tinaja.com/glib/basis.pdf) /expbmp (http://www.tinaja.com/glib/expbmp.pdf) /dodbur01 (http://www.tinaja.com/psutils/dodbur01.psl) /dodgebur (http://www.tinaja.com/glib/dodgebur.pdf) /magfill1 (http://www.tinaja.com/psutils/magfill1.psl) /swingt01 (http://www.tinaja.com/psutils/swingt01.psl) /before01 (http://www.tinaja.com/images/bargs/marcon01.jpg) /during01 (http://www.tinaja.com/images/bargs/marcon01.bmp) /after01 (http://www.tinaja.com/images/bargs/marconz1.jpg) /repobmp (http://www.tinaja.com/glib/repobmp.pdf) /basis01 (http://www.tinaja.com/glib/basis.pdf) /arcata (http://www.arcatapet.net/imgv32.cfm) /comparebmp (http://www.designer-info.com/Writing/bmp_tiff_jpeg_gif.htm) /imagimag (http://www.tinaja.com/glib/imagimag.pdf) /myebays (http://www.tinaja.com/glib/myebays.pdf) /stepprep (http://www.tinaja.com/glib/stepprep.pdf) /aafont01 (http://www.tinaja.com/aafont01.asp) /here1 (http://village.infoweb.ne.jp/~fwhw1257/study/bmpform.htm) /here2 (http://www.daubnet.com/formats/BMP.html) /bittype (http://www.tinaja.com/psutils/pdf2bmp.psl) /photocombine (http://www.tinaja.com/psutils/blender.psl) /psl (http://www.tinaja.com/psutils/) % dummy temp /psl1 (http://www.tinaja.com/psutils/pdf2bmp.psl) /psl2 (http://www.tinaja.com/psutils/acatdata.psl) /psl3 (http://www.tinaja.com/psutils/catwords.psl) /psl4 (http://www.tinaja.com/psutils/graburls.psl) /psl5 (http://www.tinaja.com/psutils/blender.psl) /psl6 (http://www.tinaja.com/psutils/catools1.psl) /psl7 (http://www.tinaja.com/psutils/strconv.html) /psl8 (http://www.tinaja.com/psutils/bodcat.psl) /psl9 (http://www.tinaja.com/psutils/flatvue1.psl) /psl10 (http://www.tinaja.com/psutils/fern2img.psl) /psl11 (http://www.tinaja.com/psutils/flutools.psl) /psl12 (http://www.tinaja.com/psutils/mscal156q.psl) /psl13 (http://www.tinaja.com/psutils/weblogu2.psl) /psl14 (http://www.tinaja.com/psutils/pfa2pfb.psl) /psl15 (http://www.tinaja.com/psutils/pfb2pfa.psl) /psl16 (http://www.tinaja.com/glib/psdisk03.psl) /psl17 (http://www.tinaja.com/psutils/disktool.psl) /psl18 (http://www.tinaja.com/glib/psinscrt.psl) /psl19 (http://www.tinaja.com/glib/pssearch.psl) /psl20 (http://www.tinaja.com/text/refsum1.html) /psl21 (http://www.tinaja.com/text/reflog1.html) /psl22 (http://www.tinaja.com/psutils/reflog1.psl) /psl23 (http://www.tinaja.com/psutils/refsum1.psl) /psl24 (http://www.tinaja.com/psutils/searepl.psl) /psl25 (http://www.tinaja.com/psutils/weberru2.psl) /psl26 (http://www.tinaja.com/psutils/grabsrch.psl) /psl27 (http://www.tinaja.com/psutils/grabrefs.psl) /magsn01 (http://www.tinaja.com/magsn01.asp) /gonzoutils (http://www.tinaja.com/post01.asp#gonzo) /disktool (http://www.tinaja.com/psutils/disktool.ps) /elesimp (http://www.tinaja.com/glib/elesimp.pdf) /tn5603 (http://partners.adobe.com/asn/developer/pdfs/tn/TN5603.Filters.pdf) /fern2img (http://www.tinaja.com/psutils/fern2img.psl) /fern (http://www.tinaja.com/psutils/fern2img.pdf) /oldfern (http://www.tinaja.com/psutils/fernx1.pdf) /acrosdk (http://partners.adobe.com/asn/developer/acrosdk/main.html) /refman2 (http://partners.adobe.com/asn/developer/pdfs/tn/psrefman.pdf) /refman3 (http://partners.adobe.com/asn/developer/pdfs/tn/PLRM.pdf) /s3011 (http://partners.adobe.com/asn/developer/pdfs/tn/PS3010and3011.Supplement.pdf) /s2011 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2011.supplement.pdf) /s2012 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2012.supplement.pdf) /s2013 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2013.supplement.pdf) /s2014 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2014.supplement.pdf) /s2015 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2015.supplement.pdf) /s2016 (http://ftp.ktug.or.kr/obsolete/info/adobe/devtechnotes/pdffiles/ps2016.supplement.pdf) /ghost (http://www.cs.wisc.edu/~ghost/) /distlang (http://www.tinaja.com/psutils/distlang.html) /adobepst (http://partners.adobe.com/asn/developer/technotes/) /maildon (mailto:don@tinaja.com) /tinaja (http://www.tinaja.com) /adobe (http://www.adobe.com) /adobesdk (http://partners.adobe.com/asn/developer/acrosdk/main.html) /pstrans (http://www.tinaja.com/glib/pstrans.pdf) /borland (http://www.borland.com/products/downloads/download_cbuilder.html) /ebay (http://cgi6.ebay.com/ws/eBayISAPI.dll?ViewSellersOtherItems&userid=abeja&completed=0&sort=2&since=-1&include=0&page=1&rows=100) /searepl (http://www.tinaja.com/psutils/searepl.psl) /aasdk (http://www.tinaja.com/plugins/AboutAcrobatSDK.api) /uncomp (http://www.tinaja.com/plugins/UncompressPDF.api) /addimage (http://www.tinaja.com/plugins/AddImage.api) /samplejpg (http://www.tinaja.com/plugins/sample.jpg) /transparency (http://www.tinaja.com/plugins/Transparency.api) /threerects (http://www.tinaja.com/plugins/threerects.pdf) /watermark (http://www.tinaja.com/plugins/Watermark.api) /verifyurls (http://www.tinaja.com/plugins/VerifyURLS.api) /flate (http://www.tinaja.com/glib/flatvue.pdf) /pstrans (http://www.tinaja.com/glib/pstrans.pdf) /advt01 (http://www.tinaja.com/advt01.asp) /amlink01 (http://www.tinaja.com/amlink01.asp) /ng1 (news:///comp.text.pdf) /ng2 (news:///comp.lang.postscript) /msc++ (http://msdn.microsoft.com/visualc/productinfo/default.asp) /degub (http://www.tinaja.com/glib/degub.pdf) /ghostscript (http://www.artifex.com/pressreleases/GS70.htm) /demox.psl (http://www.tinaja.com/glib/g9demox.psl) /demox.pdf (http://www.tinaja.com/glib/g9demox.pdf) /demo.pdf (http://www.tinaja.com/glib/g9demo.pdf) /flatvue (http://www.tinaja.com/glib/flatvue.psl) /pdfrefman (http://partners.adobe.com/asn/developer/acrosdk/docs.html) /psrefman (http://partners.adobe.com/asn/developer/technotes/postscript.html) /pdfmrm (http://partners.adobe.com/asn/developer/acrosdk/docs.html) /tipdf (http://partners.adobe.com/asn/developer/acrosdk/docs.html) /asdk (http://partners.adobe.com/asn/developer/acrosdk) /mtcr (http://support.adobe.com/devsup/devsup.nsf/docs/51864.htm) /flatvue1 (http://www.tinaja.com/psutils/flatvue1.psl) /acrob01 (http://www.tinaja.com/acrob01.asp) /post01 (http://www.tinaja.com/post01.asp) /info01 (http://www.tinaja.com/info01.asp) /gurgrm01 (http://www.tinaja.com/gurgrm01.asp) { /tilley (http://www.tilleyfoundation.com) /mnglobal (http://www.mnglobal.com/energy/pg2.htm) /keely (http://www.keelynet.com) /evolve (http://www.evolvedtechnology.com) /hack64 (http://www.tinaja.com/glib/hack64.pdf) /hackar3 (http://www.tinaja.com/glib/hackar3.pdf) /resbn58 (http://www.tinaja.com/glib/resbn58.pdf) /bppt (http://www.batterypoweronline.com) /muse112 (http://www.tinaja.com/glib/muse112.pdf) /muse113 (http://www.tinaja.com/glib/muse113.pdf) /energfun (http://www.tinaja.com/glib/energfun.pdf) /bashpseu (http://www.tinaja.com/glib/bashpseu.pdf) /adobe (http://www.adobe.com) /netscape (http://www.netscape.com) /gallypsl (http://www.tinaja.com/galley1.psl) /gallypdf (http://www.tinaja.com/galley1.pdf) /atn5150 (http://partners.adobe.com/asn/developer/acrosdk/docs/createpdfapi/pdfmarkReference.pdf) /nutour (http://www.tinaja.com/bargains/nutour02.pdf) /nutoursource (http://www.tinaja.com/bargains/nutour02.psl) /bwhistle (http://www.tinaja.com/glib/bwhistle.pdf) /gonzo1 (http://www.tinaja.com/post01.asp#gonzo) /barg01 (http://www.tinaja.com/barg01.asp) /weblib01 (http://www.tinaja.com/weblib01.asp) /gurgrm01 (http://www.tinaja.com/gurgrm01.asp) /z1 (http://www.tinaja.com/bargains/thumb/albradz2.jpg) /z2 (http://www.tinaja.com/bargains/sbtesteq.asp) /z3 (http://www.tinaja.com/images/bargs/albrad02.jpg) /z4 (http://www.tinaja.com/bargains/thumb/tutenaz2.jpg) /z5 (http://www.tinaja.com/bargains/sbphone.asp) /z6 (http://www.tinaja.com/images/bargs/tutena02.jpg) /sourceme (http://www.tinaja.com/glib/gallery.psl) /sourceme2 (http://www.tinaja.com/glib/autourl.psl) } pop >> {mark exch /eurl cvx ] cvx def} forall %%%%%%%%%%%%%%%% New colorizer patches %%%%%%%%%%%%%%%%%% /boxgrays 0.899 def /grayshade boxgrays def /mastergray boxgrays def /staytint {0.33 setgray} def /staytint1 {0.25 setgray} def /showadgrays true def /red {0 settint} def /Zmacro {staytint /ypos ypos 2 add def 72 300 div setlinewidth xpos ypos moveto txtwide 0 rlineto stroke /ypos ypos -2 add def tintoff} def % hair rule /amacro {(zy0) stringmacro /ypos ypos ypara add def 0.33 setgray } def % start drop cap /bmacro {(iFy1) stringmacro /ypos ypos ypara add def black} def % finish drop cap % Gonzo character colorizer /blueon {mark /blue cvx 0.33 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /blueoff {mark /beige cvx 0 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton {mark 0.33 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1 {mark 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1b {mark beige cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1a {mark /aqua cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1p {mark /burple cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1r {mark /red cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1a {mark /aqua cvx % try for aqua after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tinton1b {mark /beige cvx % try for beige after url??? 0.25 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /tintoff {mark 0 /setgray cvx] cvx printlist exch 3 index exch put exch 1 add exch} def %%%%%%%%%%%%%% COMPACT VERSION OF COLORIZER II %%%%%%%%%%%%%%%%%%%%%% /settint {dup /currenttint exch store 5.999 mul dup floor cvi /&cbar exch store dup floor sub /&cwt exch store [ {/setgray [ /dup cvx 0.3 &cwt 0.59 mul add /ge cvx [1 /exch cvx &cwt 0.59 mul 0.30 add /sub cvx 1 &cwt sub 0.59 mul 0.11 add /div cvx /dup cvx 1 &cwt sub /mul cvx &cwt /add cvx /exch cvx ] cvx [ &cwt 0.59 mul 0.3 add /div cvx /dup cvx &cwt /mul cvx 0] cvx /ifelse cvx /setrgbcolor cvx] cvx /def cvx} {/setgray [/dup cvx 0.59 1 &cwt sub 0.3 mul add /ge cvx [1 &cwt sub 0.3 mul 0.59 add /sub cvx &cwt 0.3 mul 0.11 add /div cvx /dup cvx &cwt /mul cvx 1 &cwt sub /add cvx /exch cvx 1 /exch cvx] cvx [1 &cwt sub 0.3 mul 0.59 add /div cvx /dup cvx 1 &cwt sub /mul cvx /exch cvx 0] cvx /ifelse cvx /setrgbcolor cvx] cvx /def cvx} {/setgray [/dup cvx 0.59 &cwt 0.11 mul add /ge cvx [&cwt 0.11 mul 0.59 add /sub cvx 1 &cwt sub 0.11 mul 0.30 add /div cvx /dup cvx 1 &cwt sub /mul cvx &cwt /add cvx 1 /exch cvx] cvx [0 /exch cvx &cwt 0.11 mul 0.59 add /div cvx /dup cvx &cwt /mul cvx] cvx /ifelse cvx /setrgbcolor cvx] cvx /def cvx} {/setgray [/dup cvx 0.59 1 &cwt sub mul 0.11 add /ge cvx [1 &cwt sub 0.59 mul 0.11 add /sub cvx &cwt 0.59 mul 0.30 add /div cvx /dup cvx &cwt /mul cvx 1 &cwt sub /add cvx 1] cvx [0 /exch cvx 1 &cwt sub 0.59 mul 0.11 add /div cvx /dup cvx 1 &cwt sub /mul cvx /exch cvx] cvx /ifelse cvx /setrgbcolor cvx] cvx /def cvx} {/setgray [/dup cvx 0.11 &cwt 0.30 mul add /ge cvx[&cwt 0.30 mul 0.11 add /sub cvx 1 &cwt sub 0.30 mul 0.59 add /div cvx /dup cvx 1 &cwt sub /mul cvx &cwt /add cvx /exch cvx 1] cvx [ &cwt 0.30 mul 0.11 add /div cvx /dup cvx &cwt /mul cvx /exch cvx 0 /exch cvx ] cvx /ifelse cvx /setrgbcolor cvx ] cvx /def cvx} {/setgray [ /dup cvx 0.30 1 &cwt sub 0.11 mul add /ge cvx[ 1 /exch cvx 1 &cwt sub 0.11 mul 0.30 add /sub cvx &cwt 0.11 mul 0.59 add /div cvx /dup cvx &cwt /mul cvx 1 &cwt sub /add cvx ] cvx [ 1 &cwt sub 0.11 mul 0.30 add /div cvx /dup cvx 1 &cwt sub /mul cvx 0 /exch cvx] cvx /ifelse cvx /setrgbcolor cvx ] cvx /def cvx} ] &cbar get exec exec} bind def /beige {0.10 settint} def % examples of convenience operators /aqua {0.52 settint} def /blue {0.67 settint} def /lime {0.44 settint} def /burple {0.75 settint} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /guru { gonzo begin ps.util.1 begin printerror nuisance begin} def % guru % activate gonzo utilities 50 50 10 setgrid % create grid % 56 61 showgrid /setpagefonts { /cstretch 0.015 def /sstretch 0.015 def /font0 /StoneSans-Bold 1.6 gonzofont /font1 /StoneSans 0.95 gonzofont /font2 /StoneSans [0.95 0 0.25 0.95 0 0 ] gonzofont /font4 /StoneSans 0.85 gonzofont /font3 /StoneSans-Bold 0.85 gonzofont /font6 /StoneSans-Bold 0.85 gonzofont /font7 /StoneSans-Bold 1.05 gonzofont % subheaders /font8 /StoneSans-Bold [0.65 0 0 0.65 0 0.4] gonzofont /txtwide 36 store /yinc 1.2 store /kern 0.1 store /pm 1.5 store aqua 0.33 setgray font1 black /amacro { mark /aqua cvx 0.33 /setgray cvx ] cvx printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch } def /bmacro { mark /black cvx ] cvx printlist exch 3 index exch % stuff into gonzo printlist put exch 1 add exch } def /shiftin {xpos /xposhold exch store /xpos xpos 3 add store} def /shiftout {/xpos xposhold store} def /texttop 51 store /textleft 3 store /cmacro {aqua 0.25 setgray (znhL7) stringmacro /xpos xpos 1.7 sub store /ypos ypos .1 sub def } def % left title /dmacro {black (pL1hz) stringmacro /xpos xpos 1.7 add store /ypos ypos .1 add def} def % normal text after centered title /fmacro % try and fake | {mark /gsave cvx /currentpoint cvx /moveto cvx 0.1 /setlinewidth cvx 0 0.65 /rlineto cvx /stroke cvx /grestore cvx ] cvx printlist exch 3 index exch put % stuff into gonzo printlist exch 1 add exch % increment gonzo list count } def } def setpagefonts % -2 50.5 (optional header here \274) cl %% Set document opening conventions. Note DOCVIEW limited. [/CropBox [0 0 520 620] % set the wierd size /PAGES pdfmark [ {Catalog} << /ViewerPreferences << /FitWindow true /CenterWindow true >> /PageLayout /OneColumn % continous /Pagemode /UseNone % no thumbs /View [/XYZ null null 1 ] % force 100% >> /PUT pdfmark %%%%%%%%%%%%%%%%% START DEMO ART (not in use) %%%%%%%%%%%%%%%% %%% Hand patching Info: % next available variable is /GS3 % transparency gstate is object 2 % contents stream is object 18 gets q /GS3 gs (xstuff) Q % be sure to q Q bracket to localize % resources stream is object 19 gets /GS3 2 0 R /transoverlay { % make a new graphics state [ /_objdef {newgsstate} /type /dict /OBJ pdfmark % fill the new overlay graphics state - See PDF manual for details [ {newgsstate} << /Type /ExtGState /ca 0.5 % fill transparency is 0.5 /CA 0.5 % stroke transparency is 0.5 /BM /Normal /AIS false /OP false /OPM 1 /op true >> /PUT pdfmark % start a Begin Picture graphics overlay subroutine... [ /BBox [0 0 1000 1000 ] /_objdef {overlaypix} /BP pdfmark % fill the Begin Picture graphics overlay Xobject subroutine... 0 0.5 1 setrgbcolor % on the aqua side of blue 4 4 6 6 rectfill % complete the Begin Picture graphics overlay Xobject... [ /EP pdfmark } def % Write a two squares program... /twosquares { gsave translate 1 0.5 0 setrgbcolor % red side of orange 2 2 6 6 rectfill % do background opaque box [ {overlaypix} /SP pdfmark % show foreground transparent box grestore} def % Distill the two squares program. Initially use a BARE Distiller Job % Options that has no compression, no embedded fonts, and little else save /snap1 exch store %%% transoverlay % create new objects %%% 14 17.5 twosquares snap1 restore %%%%%%%%%%%% END DEMO %%%%%%% %%%%%%%%%%%% PHOTO INSERTS %%%%%%%%%% % When photos are needed, they are inserted here. Comment out otherwise. %%%%%%%%% photo links %%%%%%%%% % combined autopos jpeg conversion and hotlink: /autofigure1 {save /af1 exch store xpos ypos yinc add translate 6 0.65 923 526 .025 % xpos ypos xres yres pixscale (http://www.tinaja.com/images/bargs/flu84501.pdf) % url first (C:\\windows\\desktop\\aaraw_pix\\flu84501.jpg) jpegimageprocwithlink af1 restore} store /autofigure2 {save /af2 exch store xpos ypos yinc add translate 8.5 -2 790 672 .020 % xpos ypos xres yres pixscale (http://www.tinaja.com/images/bargs/tek40841.pdf) % url first (C:\\windows\\desktop\\aaraw_pix\\tek40841.jpg) jpegimageprocwithlink af2 restore} store /autofigure3 {save /af3 exch store xpos ypos yinc add translate 12 0.6 530 816 .018 % xpos ypos xres yres pixscale (http://www.tinaja.com/images/bargs/sencri01.pdf) % url first (C:\\windows\\desktop\\aaraw_pix\\sencri01.jpg) jpegimageprocwithlink af3 restore} store /autofigure4 {save /af4 exch store xpos ypos yinc add translate 12 -0.4 422 612 .024 % xpos ypos xres yres pixscale (http://www.tinaja.com/images/bargs/abspar01.pdf) % url first (C:\\windows\\desktop\\aaraw_pix\\abspar01.jpg) jpegimageprocwithlink af4 restore} store /jpegimageprocwithlink { % hoffset voffset hres vres save /snap2 exch def /infilename exch store % grab passed pix file /inurllink exch store % grab link filename /photoscale exch store /vpixels exch store /hpixels exch store translate % adjust position for final figure ??? inurllink setareaurl % autolink sizing /DeviceRGB setcolorspace % pick color model 0 0 translate % set page position hpixels vpixels scale % magnify unit square photoscale dup scale /infile infilename (r) file def % establish input read file /Data {infile /DCTDecode filter} def % define a data source << % start image dicationary /ImageType 1 % always one /Width hpixels % JPEG width in pixels /Height vpixels % JPEG height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource Data % proc to get filtered JPEG /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image operator ypos snap2 restore /ypos exch def } def /setareaurl { % for auto include routine /cururlname exch store mark % start pdfmark /Rect [ 0 0 hpixels photoscale mul vpixels photoscale mul ] /Border [ 0 0 0] % [0 0 0 ] = none; [0 0 2] = debug /Color [ .7 0 0 ] /Action <> /Subtype /Link /ANN % annotation type pdfmark % call pdf operators } def %%%%%%%%%%%%% /burpwide 29.5 store /burplebox3 {save /burp1 exch store xpos ypos translate -1 .2 mt 3.5 yinc mul .4 add pd burpwide pr 3.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox2 {save /burp1 exch store xpos ypos translate -1 .2 mt 2.5 yinc mul .4 add pd burpwide pr 2.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox2.5 {save /burp1 exch store xpos ypos translate -1 .2 mt 3 yinc mul .4 add pd burpwide pr 3 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox4 {save /burp1 exch store xpos ypos translate -1 .2 mt 4.5 yinc mul .4 add pd burpwide pr 4.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox4.5 {save /burp1 exch store xpos ypos translate -1 .2 mt 5 yinc mul .4 add pd burpwide pr 5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox5 {save /burp1 exch store xpos ypos translate -1 .2 mt 5.5 yinc mul .4 add pd burpwide pr 5.5 yinc mul .4 add pu closepath 0.9 setgray fill true {special5 } if burp1 restore } def /burplebox6 { save /burp1 exch store xpos ypos translate -1 .2 mt 6.5 yinc mul .4 add pd burpwide pr 6.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox7.5 {save /burp1 exch store xpos ypos translate -1 .2 mt 8 yinc mul .4 add pd burpwide pr 8 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox8 {save /burp1 exch store xpos ypos translate -1 .2 mt 8.5 yinc mul .4 add pd burpwide pr 8.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox9 {save /burp1 exch store xpos ypos translate -1 .2 mt 9.5 yinc mul .4 add pd burpwide pr 9.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox10 {save /burp1 exch store xpos ypos translate -1 .2 mt 10.5 yinc mul .4 add pd burpwide pr 10.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox11 {save /burp1 exch store xpos ypos translate -1 .2 mt 11.5 yinc mul .4 add pd burpwide pr 11.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox12 {save /burp1 exch store xpos ypos translate -1 .2 mt 12.5 yinc mul .4 add pd burpwide pr 12.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox12.5 {save /burp1 exch store xpos ypos translate -1 .2 mt 12.5 yinc mul .4 add pd burpwide pr 12.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burpcom {save /burpx exch store /bht exch store save /burp1 exch store xpos ypos translate -1 .2 mt bht yinc mul .4 add pd burpwide pr bht yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore} store /burplebox7 {7.5 burpcom} store /burplebox13 {13.5 burpcom} store /burplebox13.5 {14 burpcom} store /burplebox14 {14.5 burpcom} store /burplebox14.5 {15 burpcom} store /burplebox15.5 {save /burp1 exch store xpos ypos translate -1 .2 mt 16 yinc mul .4 add pd burpwide pr 16 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox17 {save /burp1 exch store xpos ypos translate -1 .2 mt 17.5 yinc mul .4 add pd burpwide pr 17.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox20 {save /burp1 exch store xpos ypos translate -1 .2 mt 20.5 yinc mul .4 add pd burpwide pr 20.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox23 {save /burp1 exch store xpos ypos translate -1 .2 mt 23.5 yinc mul .4 add pd burpwide pr 23.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox26.5 {save /burp1 exch store xpos ypos translate -1 .2 mt 27 yinc mul .4 add pd burpwide pr 27 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox30 {save /burp1 exch store xpos ypos translate -1 .2 mt 30.5 yinc mul .4 add pd burpwide pr 30.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def /burplebox36 {save /burp1 exch store xpos ypos translate -1 .2 mt 36.5 yinc mul .4 add pd burpwide pr 36.5 yinc mul .4 add pu closepath 0.9 setgray fill burp1 restore } def %%%%%%%%%%% figure 1 routine % autopositions on box6 %%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%% TWO PATTERNS %%%%%%%%%%%%%% /ivoryrndcolor [230 230 205 40] store % random pattern colors [red blue green variance ] /magentarndcolor [230 100 230 120]store /makepatternstrings { [230 210 190 80] buildpixels magentarndcolor /accentpatstring exch store ivoryrndcolor buildpixels makeimagestring /bodypatstring exch store } store /burppatstrings { ivoryrndcolor buildpixels makeimagestring /bodypatstring exch store magentarndcolor buildpixels makeimagestring /accentpatstring exch store } store /DeviceRGB setcolorspace % pick color model /hpixels 50 store % size of pattern image /vpixels 50 store /issize hpixels vpixels mul store % makestring converts a stack top array into a string... /makestring {dup length string dup /NullEncode filter 3 -1 roll {1 index exch write} forall pop} def % /buildpixels makes three nearby colors given [r b g texture] all 0-255 integers /buildpixels {aload pop /texture exch store /b0 exch store /g0 exch store /r0 exch store 123 srand /r1 r0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /g1 g0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /b1 b0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /r2 r0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /g2 g0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /b2 b0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /r3 r0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /g3 g0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store /b3 b0 texture random texture 2 div sub add cvi dup 255 ge {pop 255}if dup 0 lt {pop 0} if store } store % /makeimagestring creates a sting usable for a pattern image /makeimagestring { 12345 srand % make repeatable /iarray mark issize { r1 g1 b1} repeat ] store % fill all with color 1 issize 2 div cvi { iarray issize % fill half with color 2 random 3 mul cvi [ r2 g2 b2 ] putinterval} repeat issize 2 div cvi { iarray issize % fill third with color 3 random 3 mul cvi [ r3 g3 b3 ] putinterval} repeat iarray makestring } store % /rndimage shows the random string as a patternable image /bodyrandimage { gsave 5 dup scale << % start image dicationary /ImageType 1 % always one /Width hpixels % width in pixels /Height vpixels % height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource bodypatstring % proc to get string data /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image grestore } def /accentrandimage { gsave 5 dup scale << % start image dicationary /ImageType 1 % always one /Width hpixels % width in pixels /Height vpixels % height in pixels /ImageMatrix [hpixels 0 0 vpixels neg 0 vpixels ] /DataSource accentpatstring % proc to get string data /BitsPerComponent 8 % color resolution /Decode [0 1 0 1 0 1] % per red book 4.10 >> image % call the image grestore } def % using a separate pattern dictionary for each pattern... /bodypatdict << /PatternType 1 % Tiling pattern /PaintType 1 % Colored /TilingType 1 /BBox [0 0 50 50] /XStep 5 /YStep 5 /PaintProc { begin bodyrandimage end} >> store /accentpatdict << /PatternType 1 % Tiling pattern /PaintType 1 % Colored /TilingType 1 /BBox [0 0 50 50] /XStep 5 /YStep 5 /PaintProc { begin accentrandimage end} >> store /burpbackmain { save /snapbb exch store save /snapb exch store % show the body background bodypatdict matrix % Identity matrix makepattern % Instantiate the pattern /bodypat exch def 4 0 % for the actual slide size 12 8 /Pattern setcolorspace bodypat setcolor rectfill % Fill rectangle with pattern snapb restore 4 0 12 8 line1 black rectstroke save /snapy exch store % show the accent accentpatdict matrix % Identity matrix makepattern % Instantiate the pattern /accentpat exch def 18.5 0 12 8 4 copy /Pattern setcolorspace accentpat setcolor rectfill % Fill rectangle with pattern snapy restore 18.5 0 12 8 line1 black rectstroke snapbb restore } store /figure3 {save /snap3 exch store translate % 34 8 showgrid makepatternstrings burppatstrings % burpbackstrings burpbackmain snap3 restore } store %%%%%%%%%%%%%%% end figure3 /special5 {gsave 4 -5.85 translate line1 black 0.3 0 mt 0.3 l 5.2 u 0.3 r 13.2 0 mt 0.3 r 5.2 u 0.3 l 15.3 0 mt 0.3 l 5.2 u 0.3 r 18.3 0 mt 0.3 r 5.2 u 0.3 l grestore } store % named destinations /setdest1 {[/Dest /GoBack1 /Page 3 /DEST pdfmark } store /setdest2 {[/Dest /GoBack2 /Page 6 /DEST pdfmark } store /setdest3 {[/Dest /GoBack3 /Page 7 /DEST pdfmark } store /setdest4 {[/Dest /GoBack4 /Page 8 /DEST pdfmark } store /xkernon {/kernsave kern store /kern 0.18 store } def /xkernoff {/kern kernsave store} def /pagenum 1 store /startnewpage { black beige 0.35 setgray 21 -2.5 (|3\320|j|j) ggnum 10 string cvs mergestr (|j.|j) mergestr pagenum 10 string cvs mergestr (|j|j\320) mergestr cc aqua showpage %% start next page /pagenum pagenum 1 add store 50 50 10 setgrid % create grid setpagefonts font1 textleft texttop } def /su {surl font6} store /to {tinton1 font6} store /tx {tintoff font1} store /tabs [11 15] store % /font7 /helvetica [0.7 0 0 0.7 0 0.5] gonzofont font1 aqua 0.33 setgray font0 20 47.3 0.7 add 1 sub 1 add (My |j|jeBay) cc 20 45.3 0.7 add (Photo |j|jSecrets) cc black font2 textleft 43 0.3 add % this one only need |h below (|/aqua |/staytint1 |3Don Lancaster Synergetics, Box 809, Thatcher, AZ 85552 copyright c2003 as |/surl |6GuruGram|1|/gurgrm01 |/tinton1 |6#22 |/surl http://www.tinaja.com|/tinaja |/surl don@tinaja.com|/maildon (928) 428-4073 |/aqua |/black |a|0I|b|1n previous |/su Blatant Opportunists|1|/blat01 , we've looked at a number of |/su eBay|1|/ebay related topics. These have included |/su My Ebay Secrets|1|/myebays , |/su Son of Ebay Secrets|1|/moreebay , |/su Imaginative|/imagimag |/su Images|1|/imagimag , and |/su Step-by-Step Image Prep|1|/stepprep . Along with |/su The Live Auction Scene|1|/auctscne and related topics found on our |/su Auction Help|1|/auct01 library pages. |h What I thought I'd do here is go over some of the stuff that seems to be working for me involved in properly preparing |/su eBay|1|/ebay photos and images. Let's first look at four essential rules of eBay photo prep\274 |6|/shiftin |/aqua |/burplebox2 |/staytint1 |h Photos dramatically add to the value of any eBay listing. |1|/shiftout |/aqua |/black |h At least one photo and a thumbnail is the norm for any |/su eBay|1|/ebay offering. Photos will usually make a 2X to 3X difference in bidder interest. They also very much up your selling price and reduce the number of times an item has to be relisted. If an item is not "worth" photographing, it is also probably not worth selling on |/su eBay|1|/ebay . Because you will be almost certain to lose money on it. |h Further details on minimum eBay values are found |/su MYEBAYS.PDF|1|/myebays . |6|/shiftin |/aqua |/burplebox3 |/staytint1 |h Use BOTH a premium quality scanner AND |j|ja 4 megapixel or better digital camera. |1|/shiftout |/aqua |/black |h Conventional analog photography is unthinkable for |/su eBay|1|/ebay images. Scanner advantages include hundreds of times the resolution, superb lettering, and perfect lighting. But are limited to "face on" subjects. It is super important to use a scanner that has outstanding depth of field, such as an HP |/su C6262A Scanjet|1|/hewpack or newer. The depth of field on a cheap scanner is usually an outright joke. |h We looked at scanner technique back in |/su STEPPREP.PDF|/stepprep . |h ) cl startnewpage (Digital cameras are a better choice for subjects shown in perspective or otherwise not suitable for scanning. Because of |/su Bayer Filtering|1|/bayer , there are often |/to four|/tx digital camera pixels required for |/to each|/tx image pixel. |h Even the slightest amount of cropping will waste |/to most|/tx of your remaining camera pixels on top of this. Ferinstance, a scant one eighth edge crop throws away 28|j/|j64|jths of your pixels. Low end cameras to date have used grossly inelegant signal processing that create horrendous artifacts. And a final size reduction after all your image proc greatly improves sharpening and anti-aliasing. |h For these and other compelling reasons, a camera resolution of four megapixels or higher is the |/to bare minimum|/tx you should consider for serious |/su eBay|1|/ebay work. |h My own preference here is the |/su Nikon CoolPix 5000|1|/nikon . Its price is now fairly reasonable and it completely blows everything older away. Its only defects I've found are cheating slightly on the lens size and its extremely annoying white clipping that gives me fits on meter faces. |h Note that all digital cameras have dramatically improved in the last few months. Anything older is largely useless. |6|/shiftin |/aqua |/burplebox3 |/staytint1 |h Do all image postproc in a .BMP |j|jor other uncompressed format. |1|/shiftout |/aqua |/black |h It is extremely important to do all your postproc work at the highest possible resolution and free from compression and generation artifacts. Especially when doing perspective correction, dodging, or lettering improvement. Always work with the highest available uncompressed scanner or camera resolution. Do your final .JPEG compression |/to once|/tx . And only on the way out the door on your final and completed image. |6|/shiftin |/aqua |/burplebox3 |/staytint1 |h Spend a minimum of TWO HOURS |j|jpostprocessing any eBay photo. |1|/shiftout |/aqua |/black |h Your actual photography or scanning should take up less than |/to five percent|/tx of your total photo prep time. I have consistently found that time spent carefully optimizing any image for |/su eBay|1|/ebay pays for itself many times over. Especially on higher ticket items or when repeat sales may be involved. |h While others use |/su Photoshop|1|/adobe , I do most of my image postproc using plain old Paint, the superb and free |/su ImageViewer32|1|/arcata , and a collection of my own easily customized |/su utilities|1|/aafont01 you'll find listed below. |h Note that the images included here are place markers. Be sure to click on them to expand to the actual full size examples. |h ) cl startnewpage setdest1 setdest2 setdest3 setdest4 (Many of my photos can be broken down into two different styles, one scanner based, and one using a |/su Nikon Coolpix 5000|1|/nikon digital camera. We can call these\274 |h |c The "hex" layout\274 |d My hex layout format usually gets used for a corrected perspective image of a piece of electronic test equipment or such. Where the shape or form of the overall instrument is more important than clearly identifying every knob function. Allowing for three sides viewable, a normal "box" object will appear as a hexagon in the final image. |h Obviously, a digital camera is the choice for this type of layout. Let's use this Fluke 845AR as an example photo\274 |h |/autofigure1 I normally photograph against a blueish neutral background card that later will get knocked out. While the items are cleaned up a little bit, it is much easier to use paint and my utilities to remove the removable |/to as pixels|/tx . That way, you do not spend a lot of unneeded prep time on something that may not sell. |h As usual, a tripod, a newly cleaned lens, and careful focus is a must. Instead of autofocus, it is often best to measure the |/to exact|/tx distance to the most important lettering and program that into your camera. Should the subject be fairly light, I have Bee hold a white piece of large cardboard as a "bounce flash" to lighten areas further from the camera. |h The |/su Coolpix 5000|1|/nikon has a direct video output option. Composition can often be improved by viewing on a large video monitor rather than the tiny LCD screen or the viewfinder. This should also extend battery life. |h Images, of course, |/to are shot at the highest possible uncompressed camera |/to |/to resolution|/tx . These are transferred to |/su ImageViewer32|1|/arcata , cropped somewhat larger than needed, and then saved in |/su .BMP format|1|/bmprpt01 . Should the portion of the image nearest the camera be too "hot", it next gets backed off using my |/su Dodge and|/dodgebur |/su Burn|1|/dodgebur utilities or something similar out of |/su Photoshop|1|/adobe . This is normally only needed on very light subjects. |h ) cl startnewpage (I do always like to use |/to architectural perspective|/tx in which all vertical lines are made truly vertical. For this, my |/su Swings and Tilts|1|/swingt01 utilities are used. It is important to |/to do any dodging or tilting at the highest possible resolution|/tx . Should you miss a little on the alignment, your knockout should be able to correct a pixel or two. At this point, your subject should appear appropriately lit and in the desirable perspective format. |h The actual subject is then improved as needed, reducing shadows, eliminating dust and spots, removing labels that are going to be removed later anyway, reducing unwanted reflections, undoing fingerprints, and such. The goal here is to get the image as nice as possible |/to yet not in any manner misrepresent the |/to item being offered|/tx after its later physical cleanup. Since the camera does tend to emphasize scratches and dings, a good rule is to |/to take half and leave half|/tx . |h Ideally, you should be able to use one photo for repeat item sales. But, |/to be sure to |/to factor how critical your buyer will be|/tx over your image enhancements. Note that more improvement is acceptable in a piece of test equipment than in a rare antique. A reasonable goal is to |/to spend most of your time improving edges and |/to background|/tx . And always note in the text if there is even the slightest difference between the photo and the current item. |h Large nondescript panel areas are sometimes best replaced with a diffuse average to eliminate minor fingerprints or whatever. But do be sure to avoid an "obviously airbrushed" appearance. |h Ever since the light box and view camera days of my |/su Popular Electronics|1|/waywere photo work, I've been a rabid fan of |/to shadowless photography|/tx . In which edge shadows are eliminated entirely and all other shadows are either gotten rid of or greatly diminished. With care, nearby pixels can be drug into deep shadow areas. |h The next step is to knock out the background to white. I have found commercial knockout programs to be useless in the shadowy "decision" areas where they are most needed. A crucial first step is to use our |/su NOWHIT01.PSL|1|/nowhit01 to eliminate any true whites from the subject itself. Otherwise, the background to be added later will |/to punch through|/tx with disastrous results\274 |6|/shiftin |/aqua |/burplebox3 |/staytint1 It is very important to not change the image size or the contrast or similar mods between the time you eliminate the whites and the time you add the magic background. |1|/shiftout |/aqua |/black Most of the background can be knocked out by lassoing and erasing. Vertical edges are best done by getting a small portion of them looking right and then replicating. Similarly, any diagonal edge problems can often be fixed by a cut and paste of nearby pixels. Other background eliminating tricks include repeated use of narrow to wide lines, white rectangles, or working pixel-by-pixel with the pencil. Your goal here should be a solid white background with all subject edges sharply defined. |h ) cl startnewpage (When doing a knockout, I prefer to hit the middle of each edge first, followed by the corners, and then filling in the rest. It is sometimes useful to think of the background as some sort of a |/to structure|/tx you are firmly attaching the subject to. |h The white then often gets replaced by a mottled color or gray background using our |/su MAGFILL2.PSL|1|/magfill2 utility. Besides adding interest, this can |/to dramatically reduce |/to any edge artifacts|/tx on later JPEG compression. I usually favor subtle earthtones and grays. Unless extra punch is called for. |h Is vignetting desirable? I feel this adds greatly to large complex items but detracts from smaller and simpler ones. You can explore both ways by using the vignetting routines in my |/su Dodge & Burn|1|/dodgebur utilities. |/to Be sure to check how the image looks as |/to a Gallery thumbnail as well as full size|/tx . |h The image is then loaded into |/su ImageViewer32|1|/arcata and is resized suitable for |/su eBay|1|/ebay . I typically seek out an 800 x 600 or so res where detail is important. Contrast, brightness, and gamma are then bumped as needed for best display. The sharpness is then slightly increased. But be careful\274 |6|/shiftin |/aqua |/burplebox2 |/staytint1 |h A little sharpening goes a VERY long way. |1|/shiftout |/aqua |/black |h Finally, at long last, you save the image as compressed .JPG and send it to a suitable folder on your webpage at your local ISP. For a number of reasons, use of your own image hosting is by far the best. Benefits include having your pictures stay around as long as you want. And being able to find anyone referral stealing your images. |h |c \274 and the "square" arrangement |d I use this approach for small items or where I want extreme detail of the meter or knob functions of a piece of test equipment. The item is first placed on a scanner and then captured in bitmap format. We saw earlier step-by-step details on this process in |/su STEPPREP.PDF|1|/stepprep |h |/to It is very important to thoroughly clean the scanner glass each and every time|/tx . Use tape to secure any cables and small erasers or similar prop blocks for stability or support. Any old light or contrasty background can be used as it will later get knocked out. |h I feel very strongly about |/to pixel alignment|/tx or |/to pixel justification|/tx in which each and every vertical and horizontal line is made truly so. |/to To one pixel accuracy|/tx . While this is done in postproc using our previous techniques, it becomes infinitely easier if you use a machinist's square to carefully align the subject on the scanner in the first place. It is also important to center the object as much as possible. At least on the HP scanners, things like knobs or jacks will not appear credible if they all lean off to one side. |h ) cl startnewpage (There also seems to be a |/to preferred shadowing|/tx artifact to the HP scanners. If it fits, try the subject both horizontally and vertically to minimize shadowing of lettering or other critical areas. |h If the item is too heavy or large for the scanner, try setting the scanner on the floor sideways and align the object to it. Stacking it on books or whatever. You can also sometimes use the scanner upside down on top of the object, but this gets tricky and stability becomes an issue. Either way, |/to make sure you have total |/to glass contact and good alignment|/tx . |h Here's a square example using the Tektronix 4084\274 |/autofigure2 You can also do a step-and-repeat and splice images together. Sometimes if a unit will just barely not fit, you can ignore one end and copy the other end, mirroring it into your final image. Careful alignment is essential for any of these multiple techniques to work. |h A key goal is legible lettering. |/to Leave it alone|/tx if possible. Especially if not vertical or horizontal. If needed, you can sometimes improve and "standardize" the background up to the letter borders and then trim each letter to a credible outline. This works well near |/su eBay's|1|/ebay resolution limit where you have to guess what the message is anyway. And is a major reason why |/to you always want to start with |/to the highest possible resolution bitmap|/tx . |h Relettering an entire instrument takes a long time and is only justified when it is critical that the viewer can evaluate what everything does on an expensive piece of gear. Or if you have many identical items in stock. Relettering utilities appear on our |/su Bitmaps & Fonts|1|/aafont01 library pages. |h Sometimes you can use one color dot matrix lettering. Other times with more effort, fully anti-aliased blended callouts will look much better. Occasionally, one or two bad letters can be borrowed or modified from elsewhere in the image. Some "free" anti-aliasing may be gained in your final image size reduction. |h "Multiple exposures" done in post proc can get around special problems. Ferinstance, meter faces may be unsharp and gray because of their distance from ) cl startnewpage (the glass. Copy the meter face to a new file and then boost the contrast, sharpness, and brightness and lower the gamma until you get a credible image. Then paste the new image in place, carefully hand trimming its borders to fit seamlessly. Plain old |/to Paint|/tx is superb for this sort of thing. |h Similarly, connectors way off the glass or similar items can be grabbed, significantly brightened, shadow reduced, further enhanced, and then pasted back into place. For such minor items as feet or bails or linecords or handles, these can sometimes be made up from whole cloth as brand new artwork. Paint's ability to mirror elements for replication can be very handy here. |h Any time you are intensively enhancing any image area, it is best to work separately or off to one side. Then bring only the |/to final|/tx result back. |h |c Combined layouts |d Sometimes using |/to both|/tx a scanner |/to and|/tx a camera on the same image can have advantages. In this |/to Cricket|/tx example\274 |h |/autofigure3 \274the camera flash burned out the meter face on an otherwise decent hex exposure. So, the meter face was separately scanned and enhanced. My |/su swings|/swingtlt |/su and tilts|1|/swingtlt routines were then used |/to backwards|/tx to "unflatten" the mirror face so it would properly fit the available space in the main digital camera image. Thus converting a square face into the appropriate trapezodal form. |h The meter face was first cropped to the viewable area. It was next scaled to get the close edge height and total width correct. It was then rotated 90 degrees and the gain and offset was adjusted to get the far edge height and position correct. (|jMy swings and tilts utility presently makes |/to horizontal|/tx adjustments only.) The image was then rotated back. Finally, the altered face was pasted over the original and carefully trimmed for a glitch-free fit. |h One big advantage of a combined layout is that |/to the best focus axis can be |/to aligned into the critical lettering plane|/tx . ) cl startnewpage (In this Allen Bradley safety device example, a fairly decent hex photo was marred by lack of depth of field on the lettering\274 |/autofigure4 The hex method was desirable here to suit the personality of the object. After photography, the item was flat scanned to get the lettering super sharp. The scan was unflattened similar to our previous example, pasted, and edge adjusted. |h |c Theft of Images |d In the US, whenever intellectual property is rendered in a tangible form, it is automatically and instantly protected by copyright law. Besides being a civil offense, it is also a big no-no to steal or otherwise "adapt" another |/su eBay|1|/ebay seller's images or text. |h To enforce your image rights, you first should create an |/su About Me|1|/aboutme page on |/su eBay|1|/ebay in which those rights are clearly stated. Then you should join eBay's |/su VERO|1|/ebayvero or |/to verified rights|/tx program. Should image theft occur, you then promptly file a |/su NODI|1|/nodi or |/to Notice of Declared Infringement|/tx . Using |/su this form|1|/nodi . Typically, |/su eBay|1|/ebay will shut the offender down in an hour or two. And NARU them on repeated offenses. Those NARU jackets can really get uncomfortable. |h |/to Note that any NODI misstatement is in and of itself perjury|/tx . |h More on image rights enforcement appears in my |/su MOREEBAY.PDF|1|/moreebay tutorial and in the |/su alt.marketing.online.ebay|1|/newsamoe newsgroup. |h How can you "prove" ownership of an image? In general, it is not at all necessary as it will be utterly obvious. Style and consistency counts. Placing a copyright notice on the image or disabling right mouse clicks are worse than useless because they are easily gotten around and annoy your bidders. Formal copyright registration supposedly offers you additional legal benefits. |h But rarely is cost effective or worth the bureaucratic hassles. |h ) cl startnewpage (Instead, having possession of an oversize uncropped and uncompressed bitmap original file is really all you should need. In addition to saving original work, I like to use |/su steganographic techniques|1|/stegan which convert the image into a unique work of art. Usually by making subtle and benign changes in the image. |h Interchanging the focus and intensity knobs on an oscilloscope is one good example. As is making sure the serial number is legible. Or making subtle changes in the alignment and position of elements. Or keeping track of the unique |/to SRAND|/tx seeds used in your backgrounds. Any of these stunts are exceptionally resistive to compression or resizing or cropping or most other alterations. A dozen utterly minor and super subtle image mods should be all it takes. |h While promptly removing aftersale photos is an obvious defense against ripoffs, I feel keeping them around leads to more sales later from bidders searching for specific items. |h How can you tell when someone else is stealing your images? This gets tricky if they actually move your image to another site. More often than not, the perp simply links to your website. Such links are easily found by inspecting your web log file referral entries. Naturally, you |3|/tinton1r never|/tx |1use an ISP who does not make these files readily available to you. Programs such as |/su Webtrends|1|/webtrends can help bunches, or you can write your own continuous autodetection routines following the details on my |/su PostScript|1|/post01 library page. |/su Custom Design Services|1|/info01 are also available. |h Temporarily replacing an image used by an infringer can sometimes be interesting. Suitable candidates would include individuals actively pursuing new methods of animal husbandry. |h |c Some Utilities |d I've written a bunch of free |/su image postproc utilities|1|/aafont01 that I've found highly useful for those wishing to venture beyond |/su Photoshop|1|/adobe . In general, these non-WYSIWYG routines use my |/su gonzo|1|/gonzoutils utilities and are adapted by reading them into a word processor or editor, modifying their filenames and parameters, and resaving them to disk |/to as a standard ASCII textfile|/tx . |h The modified file is then sent to |/su Acrobat distiller|1|/acrob01 . Typically, the utility will read one or more .BMP or other files, act on them, and create a new output file with the desired effects in place. They are easily customized. On many, the individual |/su Gonzo|1|/gonzoutils routines can be substituted to create a standalone utility. Here's a summary of some of the more useful tools and tutorials\274 |h |/su BMPRPT01.PSL|1|/bmprpt01 |/to \320|/tx Utility that which |/to reads .BMP bitmap file headers|/tx and reports their characteristics. Edit this with a wp or editor, modify filename, and send to Distiller. |h |/su EXPBMP.PDF|1|/expbmp |/to \320|/tx A Gurugram tutorial on |/su BMPRPT01.PSL|1|/bmprpt01 that shows you all the |/to secrets of .BMP file format|/tx arrangement. |h ) cl startnewpage (|/su SWINGT01.PSL|/swingt01 |/to \320|/tx A major set of utilities that let you do custom modifications to .BMP files that include view camera style swings and tilts, |/to perspective correction|/tx , image offsetting, scaling, and related effects. Uses true |/su bicubic interpolation|1|/basis for highest possible image quality. |h |/su SWINGTLT.PDF|/swingtlt |/to \320|/tx A Gurugram tutorial that leads you through the |/su SWINGT01.PSL|1|/swingt01 utilities and shows you |/to how to use and modify|/tx them for your own needs. |h |/su DODBUR01.PSL|/dodbur01 |/to \320|/tx A major set of utilities that let you do custom modifications to .BMP files that include |/to dodges|/tx , burns, hue & saturation adjust, |/to vignettes|/tx , chroma keying, masking, black mask generator, waterfalls, selective gamma correction, color seps, and |/to lots more|/tx . |h |/su DODGEBUR.PDF|/dodgebur |/to \320|/tx GuruGram tutorial that leads you through the |/su DODBUR01.PSL|1|/dodbur01 utilities and shows you |/to how to use and modify|/tx them for your own needs. |h |/su NOWHIT01.PSL|/nowhit01 |/to \320|/tx PS language .BMP file modifier that changes any true white pixels to slightly less than white. |/to Useful to prevent "punchthru"|/tx on any background pattern fills. Be sure to leave image size, contrast, etc\274 unchanged between clearing whites and underlaying a background. |h |/su MAGFILL2.PSL|/magfill2 |/to \320|/tx A |/to magic backgrounder utility|/tx that replaces any true white (or other selected color) pixels with random mottled three color triads. Besides adding visual interest, the process |/to dramatically reduces later JPEG artifacts|/tx . |h |/su KNOCKOUT.BMP|/knockout |/to \320|/tx Several older |/to "copy and go" backgrounds|/tx useful to manually add interest and eliminate later .JPEG artifacts. |/su MAGFILL2.PSL|1|/magfill2 is newer, faster, and better. Read as .BMP file in Paint, copy area of interest to clipboard. |h |/su HISTOG01.PSL|/histog01 |/to \320|/tx A |/to histogram analyzer|/tx useful to inspect pixel distribution. |h |/su ANTIFONT.PSL|1|/antifontpsl \320|/tx Antialaised font creator |/to creates true integral antialiased .BMP |/to fonts|/tx starting with ordinary |/su PostScript|1|/post01 fonts. Makes size specific grayscale arrays. Read in editor, modify, send to |/su Distiller|1|/acrob01 , copy log file. |h |/su ANTIFONT.TXT|1|/antifonttxt |/to \320|/tx Partially populated |/to antialiased font collection|/tx of true integer antialiased grayscale fonts in smaller pixel sizes. Each character is an array of grayscale values of black|j=|j0 and white|j=|j1. Use |/su ANTIFONT.PSL|1|/antifontpsl to expand. |h |/su BITMFONT.TXT|/bitmfont |/to |/to \320|/tx Earlier |/to hand crafted small bitmap fonts|/tx defined in PostScript string format. (x) = paint (.) = no paint. While a lot better than auto font machinery, true integer |/su ANTIFONT.TXT|1|/antifonttxt fonts are even more legible. |h |/su PDF2BMP.PSL|/pdf2bmp \320|/tx PDF to Bitmap Generator |/to directly generate a .BMP file|/tx using |/to Acrobat|1|/acrob01 . Includes both bitmapped and true antialiased fonts, transparency overlays, graphics, and full alpha proportional overlays. |h |/su GONZO.PS|1|/gonzoutils |/to \320|/tx Core Gonzo |/to drawing and layout routines|/tx used by many of the above utilities. Normally downloaded early in program, but individual routines can be inserted for standalone operation. More info in our |/su PostScript|1|/post01 library. ) cl startnewpage (|c For More Help |d Additional background along with related utilities and tutorials appears on our |/su GuruGram|1|/gurgrm01 , |/su Auction Help|1|/auct01 , |/su PostScript|1|/post01 , |/su Acrobat|1|/acrob01 , |/su Blatant Opportunist|1|/blat01 , and the |/su Fonts & Bitmaps|1|/aafont01 library pages. |h Consulting assistance on any and all of these and related topics can be found at |/surl |6http://www.tinaja.com/info01.asp|1|/info01 . As can our image development and processing services. |h Additional |/surl |6GuruGram|1|/gurgrm01 notes and |/su Blatant Opportunist|1|/blat01 columns await your ongoing support as a |/surl |6Synergetics Partner|1|/advt01 . ) cl startnewpage %%%%%%%%%%%%%%%%%%%% % EOF