0,pbmi^.biwidth,pbmi^.biheight,0);
DrawDIBEnd(han);
inc(i);
pbmi:=IStreamGetFrame(ob,i);
end;
IStreamEndStreaming(pavis);
DrawDIBStop(han);
finally
DrawDIBClose(han);
end;
IStreamGetFrameClose(ob);
IStreamRelease(pavis);
end;
-----Mensaje original-----
De: Earl F. Glynn <EarlGlynn@att.net>
Para: Toni Martir <techni-web@pala.com>
Fecha: martes, 19 de enero de 1999 21:40
Asunto: Re: How to extract a bitmap from an avi file
>Toni:
>
>>You can email-me if do you want this file.
>
>
>Do you have any examples of using this file?
>
>efg
>_________________________________
>efg's Computer Lab:
>Delphi Books:
>
>Earl F. GlynnE-Mail: EarlGlynn@att.net
>Overland Park, KS USA
呵呵,高手,我受教了!
呵呵,出了200分,自己回答问题,CSDN让我失望啊!
呵呵,老大对windows编程很熟,
不过delphi已经在自己的画图类TCanvas里包装了一个,
你用一下TCanvas.StretchDraw试试结果怎么样,我觉得还不错,呵呵。
楼上的朋友,小弟搞了多年多媒体编程了,不过TCanvas.StretchDraw的原型就是对stretchblt的封装!
这个效率很低,而且好要设置压缩模式,更慢了!
呵呵,是呀,速度是不行。
你有好的办法吗?
这个贴子也是我帮他回答的,呵呵,一样的问题!
?temp=.1789972
我是菜鸟,只能收藏
同意!
偶试了试
Bitblt 效率还可以吧, 没有时间感觉
StretchDraw 有点抖,但我是单缓冲
我是觉得用 Windows GUI 不可能再有高于 Bitblt 的效率了, 这个API纯粹就是内存的拷贝,跟踪了多次了,用 movsb 语句直接写入 Windows 显存缓冲区。在纯 GUI 下是不可能直接操作显存的...??
而 StretchDraw 的汇编让人无法理解,可能用到了高级语言写,最可能改进的也就只有 StretchDraw 的算法?
StretchDraw用的就是stretchblt的封装
fastblib里的方法不错,就是用的dib
这个是下载地址:?softid=471
作者: g-soft. FastLIB集合了一组用于图形的单元文件。包括:一个DIB类,其封装了所有的Windows图形API函数;一套图片处理函数库;以及用于存取各种图片文件格式的单元。经过3年的时间和无数程序员排错和优化使FastLIb成为了一套非常优秀的图形函数库。大家还可以的它的主页上去下载Demo,非常的cool哦。
高手啊!
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27468-6.html
你们以一等人居之很好