主题:  请问各位高手有没有不用Xtra直接将位图输出为文件的办法?

littleboy_5d

职务:普通成员
等级:1
金币:0.0
发贴:104
注册:2000/11/13 16:05:12
#12002/7/5 10:54:18
我指的是动态生成的位图。然后存为一个文件。



D计划-混沌

职务:管理员
等级:6
金币:15.2
发贴:3528
注册:2007/4/9 9:48:37
#22002/7/5 16:02:34
将stage和member图像输出文件不难,问题是特定格式的好像没有相关语句



酷狗

职务:版主
等级:2
金币:10.0
发贴:610
注册:2000/9/16 9:26:36
#32002/7/6 14:34:10
好象有一个XPORT的XTRA是专门用来输出图形文件的



SuperS

职务:普通成员
等级:1
金币:0.0
发贴:24
注册:2002/5/11 10:46:23
#42002/7/9 16:47:57
理论上应该可以吧,只要你了解你要输出的那种文件的格式。
比如bmp的:
[BitmapFileHeader]
[BitmapInfoHeader]
[Bits]
前两个部分格式是固定的,DR能得到每个像素的信息,所以说理论上用普通的xtra应该也能写出来。



D计划-混沌

职务:管理员
等级:6
金币:15.2
发贴:3528
注册:2007/4/9 9:48:37

我是小马

职务:普通成员
等级:3
金币:17.0
发贴:794
注册:2000/11/13 14:56:59
#62002/7/15 17:01:41
不用xtra比较困难吧
输出图片的第三方插件比较著名的是RavImageExport Xtra,可以在http://www.ravware.com下载。

输出图片的影片剧本:
on ExportCastMember OutFileName
--形参OutFileName为输出图片的路径及文件名
Set CastMemberName = "ExampleImage"
Set ImageExportXtra = new(xtra "RAVIMAGEEXPORT")
--创建RavImageExport xtra的一个新实例
if (objectp(ImageExportXtra) = false) then
put "错误: RavImageExport Xtra 没有安装"
exit
end if
--判断是否创建实例成功
if (RavRegisterImageExport(ImageExportXtra,"BAD-SERIALNUMBER") = #false) then
put "错误: 注册失败"
exit
end if
RavSetProp(ImageExportXtra,#ravJPGUseGrayScale,#true)
RavSetProp(ImageExportXtra,#ravJPGCompressRate,100)
--设置输出jpg格式的图片时的参数
--支持多种输出图片的格式
if (RavSaveCastMemberFromName(ImageExportXtra,CastMemberName,OutFileName) = #false) then
put "错误 " & RavGetProp(ImageExportXtra,#ravLastErrorCodeString)
--输出图片,如果不成功则输出错误信息
end if
ImageExportXtra = 0
--从内存中删除ImageExportXtra实例
end

注:节选自《Director疑难解答百例》

编辑历史:[这消息被mzgjingsi编辑过(编辑时间2002-07-16 16:40:59)]


friend_5d

职务:普通成员
等级:1
金币:0.0
发贴:30
注册:2001/10/28 22:50:09
#72002/7/17 21:12:01
《Director疑难解答百例》在哪儿可以看到?



friend_5d

职务:普通成员
等级:1
金币:0.0
发贴:30
注册:2001/10/28 22:50:09
#82002/7/17 21:17:16
还有就是,用readvalue( )函数,生成的文件为什么是0字节?



小小鱼2001

职务:普通成员
等级:1
金币:0.0
发贴:75
注册:2001/12/13 11:13:54

truka

职务:普通成员
等级:1
金币:0.0
发贴:54
注册:2001/5/21 17:13:42