[EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> I'm using printomatic full, but I need to get the stage to
> print, but well, as all the text, etc, are flash members...
>
> Printing the stage prints out at 72dpi.
...
> Is there perhaps a way I can capture a large image of the
> stage in imaging lingo and scale down to the print rez to
> get a better print of the text?
Hi grimmwerks,
You can probably get a decent printed image at 144 dpi. This means using
four times as much memory. Printomatic sends the entire print job to the
printer in one go, so the memory issue is important. (Most other
applications stream data to the printer, so printing starts faster and the
memory overhead is lower).
You'll need to scale up both the text member size and the font size, and
you'll need to scale up the defaultRect of any Flash members. When you
scale up the text, the softwrapping of the content is likely to alter.
Here's a simple handler that makes a number of assumptions (simple inks, no
skew or rotation, text member .boxType, no overlapping sprites, ...), so you
will have to adapt it to suit your project.
Cheers,
James
----------------------------------------------------------------------------
on getScaledStageImage()
tRect = (the stage).rect
tWidth = tRect.width
tHeight = tRect.height
tRect = rect(0, 0, tWidth, tHeight)
tImage = image(tWidth * 2, tHeight * 2, 32)
tImage.copyPixels((the stage).image, tImage.rect, tRect)
tCount = the lastChannel
repeat with i = 1 to tCount
tSprite = sprite(i)
tMember = tSprite.member
tPixel = image(1, 1, 32)
case tMember.type of
#flash:
tSaveRect = tMember.defaultRect
-- Set defaultRect to get twice the stage resolution
tRect = tSprite.rect * 2
tMemberRect = tRect.offset(-tRect.left, -tRect.top)
tMember.defaultRect = tMemberRect
-- Assume transparent ink with nothing sprites: add stage color
tPixel.setPixel(0, 0, (the stage).bgcolor)
tImage.copyPixels(tPixel, tRect, rect(0, 0, 1, 1))
tImage.copyPixels(tMember.image, tRect, tMemberRect)
-- Revert to previous defaultRect
tMember.defaultRect = tSaveRect
#text:
tRect = tSprite.rect * 2
tWidth = tRect.width
tHeight = tRect.height
tMemberRect = rect(0, 0, tWidth, tHeight)
-- Create a double sized member (assumes #adjust .boxType)
tTemp = member(tMember.duplicate()) -- assumes castLib 1
tTemp.width = tWidth
-- Double the size of the font
tTemp.fontSize = tMember.fontSize * 2
-- Assume copy ink and add bgColor
tPixel.setPixel(0, 0, tMember.bgColor)
tImage.copyPixels(tPixel, tRect, rect(0, 0, 1, 1))
tImage.copyPixels(tTemp.image, tRect, tMemberRect)
-- Destroy the temporary member
tTemp.erase()
-- add other types here
end case
end repeat
return tImage
end getScaledStageImage
[To remove yourself from this list, or to change to digest mode, go to
http://www.penworks.com/lingo-l.cgi To post messages to the list, email
[EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for
learning and helping with programming Lingo. Thanks!]