VoyForums
[ Show ]
Support VoyForums
[ Shrink ]
VoyForums Announcement: Programming and providing support for this service has been a labor of love since 1997. We are one of the few services online who values our users' privacy, and have never sold your information. We have even fought hard to defend your privacy in legal cases; however, we've done it with almost no financial support -- paying out of pocket to continue providing the service. Due to the issues imposed on us by advertisers, we also stopped hosting most ads on the forums many years ago. We hope you appreciate our efforts.

Show your support by donating any amount. (Note: We are still technically a for-profit company, so your contribution is not tax-deductible.) PayPal Acct: Feedback:

Donate to VoyForums (PayPal):

Login ] [ Contact Forum Admin ] [ Main index ] [ Post a new message ] [ Search | Check update time | Archives: 12345678[9]10 ]


[ Next Thread | Previous Thread | Next Message | Previous Message ]

Date Posted: 07:47:23 12/04/00 Mon
Author: Marcel
Subject: Re: EPS Graphic Support
In reply to: Marcel Kung 's message, "EPS Graphic Support" on 23:18:35 12/03/00 Sun


Hi Marcel,

The EPS format is a very complicated format since it is a postscript format requiring a posscript interpreter. I do not have plans to support it. An Envision user has contributed some code though, which allows viewing an EPS preview. Many EPS files under Windows have a tiff or wmf preview inside the EPS file. I don't plan to support this directly, but you want to try it out:

(*
0-3 Must be hex C5D0D3C6 (byte 0=C5).
4-7 Byte position in file for start of PostScript language code section.
8-11 Byte length of PostScript language section.
12-15 Byte position in file for start of Metafile screen representation.
16-19 Byte length of Metafile section (PSize).
20-23 Byte position of TIFF representation.
24-27 Byte length of TIFF section.
*)

type
TEPSFHeader = record
Signature,
PSStart,
PSLengh,
WMFStart,
WMFLength,
TIFFStart,
TIFFLength : Cardinal;
end;

function LoadEPSFromStream(st : TStream) : TGraphic;
var
hdr : TEPSFHeader;
ms : TMemoryStream;
start,
count : integer;
begin
result := NIL;
st.Seek(0, soFromBeginning);
st.ReadBuffer(hdr, SizeOf(hdr));
if hdr.Signature <> $C6D3D0C5 then
raise EInvalidGraphic.Create('EPS has no screen representation');
if hdr.TIFFLength > 0 then begin
start := hdr.TIFFStart;
count := hdr.TIFFLength;
result := TTiffGraphic.Create;
end else if hdr.WMFLength > 0 then begin
start := hdr.WMFStart;
count := hdr.WMFLength;
result := TMetaFile.Create;
end else
raise EInvalidGraphic.Create('EPS has no screen representation');
ms := TMemoryStream.Create;
try
ms.SetSize(count);
st.Seek(start, soFromBeginning);
if ms.CopyFrom(st, count) <> count then
raise EInvalidGraphic.Create('TIFF screen representation invalid');
ms.Seek(0, soFromBeginning);
result.LoadFromStream(ms);
finally
ms.free;
end;
end;


For other formats, there are not any short term plans, but I may consider MNG (multiple image png), FlashPix, and JBIG.

Best regards,

Michel

> Hi,
>
> We're currently using envision in a product of ours
> and one of our clients has requested support for EPS
> graphics. Does envision plan on supporting EPS
> graphics? Also what other formats does envision plan
> to support in the future?
>
> Regards
> Marcel

[ Next Thread | Previous Thread | Next Message | Previous Message ]


Replies:


[ Contact Forum Admin ]


Forum timezone: GMT-5
VF Version: 3.00b, ConfDB:
Before posting please read our privacy policy.
VoyForums(tm) is a Free Service from Voyager Info-Systems.
Copyright © 1998-2019 Voyager Info-Systems. All Rights Reserved.