Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

me again - on procedures as image datasources

Status
Not open for further replies.

stigic

Programmer
Oct 3, 2005
11
PL
hey,
in want to use images without datacompression. and so, the sampled values of the image exceed the lengthlimit for strings and need to be passed in an other way.

i thought about using a procedure which should be called repeadedly from colorimage.

i tried the following:

/i 0 def
/inci { /i i 1 add def } def
/assi { inci i 10 string cvs } bind def
gsave
34 486 translate
107.250 12.750 scale
143 17 8 [143 0 0 -17 0 17] assi false 3 colorimage
grestore

i thought i would increese with assi getting called repeadedly. but it doesnt. why does colorimage call assi only one time?

thanks!

btw: i found solutions to most of the other problems i got, and will post them when i got time.

cheers
 
Research "Data Acquisition Procedures".

You can also use ResuableStreamDecode filter, and SubFileDecode. Turn your image data into a SubFile, and turn that into a Positionable file, to "rewind" the image data as necessary for use in Forms, for example.

Another technique is to turn your image data into an array of strings, and "exec" each element of the array.



Thomas D. Greer
 
Interesting, I suspect you cont 'i' after colorimage to say that it only called it once, isn't it ?

What's value of i did you get ?
What's error message if any

I don't see what's wrong wth it my idea would be
CTM make a that small image that procs isn't called enough simply because 1 pixels is enough

colorimage is not the basic operator but a procs itself that contains oversimplification.


Could you try

/colorimage type
dup /operatortype eq
{ pop (Is Operator)=
}{
dup /arraytype eq {
pop (Is procs)=
}{
=string cvs (Is of type <) print print (>)=
} ifelse

}ifelse

you could also try
to replace simple call to a more fundamental like

systemdict/colorimage get exec

Could also be a rip limitation


 
Stupid am I

Just replace /assi by currentdict/assi get and it might work
you need to sens a procs, not the value of it
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top