[futurebasic] Re: [FB] JPEG files

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : March 2000 : Group Archive : Group : All Groups

From: Yukihisa Hara <akiyuki@...>
Date: Fri, 03 Mar 2000 00:20:14 +0900
Hi Martin.

Rush Software wrote:
> Can someone point me to a JPEG load and display routine?
Try this code. But did not error checks.
Hope this helps.

(FB3 Source code)
library "QuickTimeLib"
toolbox StandardGetFilePreview(long,word,@long,@long)     `0x7043,0xAAA3
toolbox fn GetGraphicsImporterForFile(@FSSpec,@long) =OSErr `0x203C, 0x0008,
0x006E, 0xAAA3
toolbox FN GraphicsImportGetNaturalBounds(long,long)=OSErr
`0x2F3C,0x0004,0x000E,0x7000,0xA82A
toolbox FN GraphicsImportDraw(long)=OSErr
`0x2F3C,0x0000,0x000F,0x7000,0xA82A
toolbox fn GraphicsImportSaveAsPicture(long, @FSSpec, long)=OSErr `0x2F3C,
0x0006, 0x0016, 0x7000, 0xA82A
toolbox fn GraphicsImportSetGWorld(long, long, handle)=OSErr `0x2F3C,
0x0008, 0x0010, 0x7000, 0xA82A
library

'--- MAIN ---
DIM drawRect.8
DIM reply.128
DIM typeList&(4)
dim @wPtr&
'"-----------
typeList&(0) =_"JPEG"
'"----
FN StandardGetFilePreview(_nil,1,@typeList&(0),reply)
'"--- Reading from Graphic Importer ---
WINDOW 1
/*------------------------------------------------------------------
/
/-----------------------------------------------------------------*/
oosErr% =FN GetGraphicsImporterForFile(reply.sffile,gi&)
//fn chkNum("GetGraphicsImporterForFile",osErr%,gi&,_nil,_nil)
LONG IF osErr%=_false
WINDOW 1//Wrong??-1
'"--- Get size ---
osErr% =FN GraphicsImportGetNaturalBounds(gi&,drawRect)
GET WINDOW 1,wPtr&
call getport(curPort&)
call setport(wPtr&)
CALL SIZEWINDOW 
(wPtr&,drawRect.right%-drawRect.left%,drawRect.bottom%-drawRect.top%,_false)
'"--- Draw picture ---
osErr% =FN GraphicsImportDraw(gi&)
call setport(curPort&)
END IF
DO
UNTIL LEN(INKEY$)

Yukihisa hara(akiyuki@...)