我知道有个AVIWriter控件可以做到,但是这个控件生成的AVI文件的视频是256色的,请问大家还有什么办法解决吗?我看到AVIWriter的原码里有PixelFormat的定义(pf8bit,pf16bit,pf24bit....),但是不知有何作用
解决方案 »
- 关于dc,hdc,getdc和pchar()的问题
- 请问--什么软件里内带有interbase???
- 我想问一个FORMAT STRING
- iroi()接分
- 紧急问题:毕业设计delphi 下的c/s平台应该怎么搭建啊!内详!!!!!!!!100分!!!!
- 自身无法完成的程序
- 谁能告诉我DELPHI的背景图用什么最好?
- Delphi程序最小化的问题
- 有关teechart问题
- ------------ 小弟愚昧,有一简单问题请教啦!-------------
- 介绍一个可以做一个自己的Google搜索引擎的软件,innerprise的ENTERPRISE SEARCH!!!
- 请大家帮我看看这个错误是什么意思
pf16bit就是16位色
pf24bit就是24位色,差不多是真彩色了
AVIWriter控件对颜色的选择没有控件属性(图片大小也是一样), TPixelFormat(而是默认为256色),所以要改成真彩16色,只要把控件方法中用到的"pf8bit",替换成“pf16bit",另外注意:
case PixelFormat of
pf1bit: Info.biBitCount := 1;
pf4bit: Info.biBitCount := 4;
pf8bit: Info.biBitCount := 8;
pf16bit: Info.biBitCount := 16; //这一行为加的。
pf24bit: Info.biBitCount := 24;
控件使用::
procedure TForm1.Button1Click(Sender: TObject);
var
Slist : TStringList;
Bmp : TBitmap;
I : Char ;
begin
Slist :=TStringList.Create; for I:='1' to '3' do
begin
Bmp :=TBitmap.Create;
Bmp.LoadFromFile('e:\mydata\' + i + '.bmp');
Slist.AddObject('bimap',TObject(Bmp));
end;
//Image1.Picture.Bitmap :=TBitmap(slist.Objects[0]);
//Image2.Picture.Bitmap := TBitmap(Slist.Objects[4]);
AviWriter1.Bitmaps.Add(slist.Objects[0]);
AviWriter1.Bitmaps.Add(slist.Objects[1]);
AviWriter1.Bitmaps.Add(slist.Objects[2]);
// aviwriter1.Bitmaps.
AviWriter1.FileName :='d:\dfdf213.avi';
AviWriter1.Write;
Med.FileName :=aviwriter1.FileName;
med.Open ;
med.Play;
Slist.Free;
Bmp.Free;
end;