高分有请,图像特效显示的问题。(卷兄快救我…………) (200分)

  • 主题发起人 主题发起人 crazycock
  • 开始时间 开始时间
项目名称:卡片制作机(就这个意思吧)
要求:通过图像获取设备(根据要求或实际情况选择摄像头或数码相机)实时地
显示目前拍摄对象的状态,然后在合适的时候,拍照,得到一个BMP图,然
后,用户可以选择配套的模版进行合成,就象电子像册一样,选择例如
“木框架”、“卡通乐园”等图片进行合成,合成的要求是,在模版中有一个
特定的区域,让拍摄到的图片在这个区域中显示出来(当然不是完全显示拍摄
到的图片,而仅能显示一部分内容),而且可以移动这个拍摄到的图片,以
决定显示的位置,然后呢,拍摄到的图片在模版中显示的内容,与模版的交
接处,需要模糊处理,不能是直接合并。然后后面的事情就是打印了。
在界面的显示上,还需要一个能够以缩略图形式显示多个图片的控件。
图片质量要求:320 X 240,即可。(另外,如果要求有照片级的打印,需要什么质量呢?)
效果图:(如椭圆圈中所示)http://crazycock.top263.net/1.gif
 
to crazycoc:
1519587
 
To xwings:
好,收到。
To 其他朋友:
怎么哦,都没有遇到过这样类似的问题吗?我好失望,这么久了,这样的问题就几个人回复!
 
To 卷老师:

那个东西我也要, szchengyu@263.net
求你喽
 
can you give me one copy
yyanghhong@yahoo.com
 
To 卷老师:

那个东西我也要, hanuser@263.net
求你喽
 
我提前…………………………………………
 
//很简单的问题啊. 羽化不就是渐变透明嘛.
//
//顶楼老兄的问题可以如下解决.
//1.准备2图片, load in to 2 个bmp中.
//2.创建一个bmp 大小是上面图大小.格式是pf8bit
//3.在这个bmp中填充象素. 为了提高速度可以用scanline ,其中象素值为255表示全透明,0表示不透明.
//这样就可以创建一个"灰度"图了. 形状任意.就像photoshop中的蒙板一样.
//4.把上面的3个位图alphy混和运算.就是啦.
我实验过了,可是不是我要的效果呀,没有过渡区呀??
他们做AlphaBlend的时候有顺序区分吗?

 
楼上各位留下邮件的朋友,源程序已发!

to crazycock:

>越来越多的关于图像的问题,怎么办呢?[:(]
>高分有请,图像特效显示的问题。(卷兄快救我…………)

我的鼻血都流出来了,千堆雪恐怕要改成千堆血了,^_^

>通过图像获取设备(根据要求或实际情况选择摄像头或数码相机)实时地
显示目前拍摄对象的状态,然后在合适的时候,拍照,得到一个BMP图>
摄像头帮你完成这个功能!

<用户可以选择配套的模版进行合成,就象电子像册一样,选择例如
“木框架”、“卡通乐园”等图片进行合成,合成的要求是,在模版中有一个
特定的区域,让拍摄到的图片在这个区域中显示出来(当然不是完全显示拍摄
到的图片,而仅能显示一部分内容),而且可以移动这个拍摄到的图片,以
决定显示的位置>
这个特定的区域,你想怎么表达?生动的显示么?那我推荐你用我的流动线功能,就象
PHOTOSHOP里的蚂蚁线一样!你可以参考:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=840870
我在那里写了直线的流动线算法,你改改就是任意区域的流动线了。
你的拍摄到的图片可以在这个区域里移动,就是说只显示区域内部的部分;那你就可以参考
图象的拷贝算法来实现;当然,如果区域是矩形,你拷贝移动很简单了;如果是非矩形区域,
你就创建该区域,然后SeleceClipRgn,这也可以实现。

<拍摄到的图片在模版中显示的内容,与模版的交
接处,需要模糊处理,不能是直接合并>
模糊处理有的是算法,包括我给你的那个例子里也有;一般是用高斯模糊来处理。
你的要求仅仅是处理交接处,那就仅仅模糊边界,无论是手动还是自动处理,
难吗?

<后面的事情就是打印了>
图象的打印你总会的吧?
同比例打印:
var
ScaleX, ScaleY: Integer;
R: TRect;

begin
Printer.BeginDoc; // **
with Printer do
try
ScaleX := GetDeviceCaps(Handle, logPixelsX) div PixelsPerInch;
ScaleY := GetDeviceCaps(Handle, logPixelsY) div PixelsPerInch;
R := Rect(0, 0, Image1.Picture.Width * ScaleX,
Image1.Picture.Height * ScaleY);
Canvas.StretchDraw(R, Image1.Picture.Graphic); // **
finally
EndDoc; // **
end;

<在界面的显示上,还需要一个能够以缩略图形式显示多个图片的控件。>
关于缩略图的控件,效果都不是很好,还是建议你自己做;
或者你看看这里:
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=450252

说来说去,好像也只有这些吧?








 
谢谢卷兄的回答,但是我还有问题。
[green]1。如果是非矩形区域,你就创建该区域,然后SeleceClipRgn,这也可以实现。[/green]
问:SelectClipRgn是一个函数吗?操作的对象是怎么产生的?
[green]2。<拍摄到的图片在模版中显示的内容,与模版的交
接处,需要模糊处理,不能是直接合并>
模糊处理有的是算法,包括我给你的那个例子里也有;一般是用高斯模糊来处理。
你的要求仅仅是处理交接处,那就仅仅模糊边界,无论是手动还是自动处理,
难吗?[/green]
问:我需要的是颜色的逐渐变化,不是高斯模糊,是地地道道的羽化,不要其他替代的方法,
能做到吗?
3。Alpha通道是怎么样一个概念,我心里怎么也想不明白,有没有这方面的资料可以参考。
 
to crazycock:
我看你想累死我!我还是去跳楼好了!

<问:SelectClipRgn是一个函数吗?操作的对象是怎么产生的?>
SelectClipRgn,你就不会去看看帮助?或者看看这里我的使用:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=639148

<问:我需要的是颜色的逐渐变化,不是高斯模糊,是地地道道的羽化,不要其他替代的方法,
能做到吗?>
这个世界还有什么做不到么?
说穿了,羽化不就是名字好听么?其实就是平滑或者柔化或者模糊处理;
看看我发给你的好例子!

<Alpha通道是怎么样一个概念,我心里怎么也想不明白,有没有这方面的资料可以参考。>
看看我给你的例子!
 
推荐给你一个老外的极酷的图象处理站点:

www.efg2.com

记得有事没事多去转转!
 
好的,有问题,我还会找你的。哈哈,你死定了~~~~~
 
卷起千堆雪tyn: 我也在做这么一个东西,能发我一份吗?

yimingnet@163.net 3KS
 
卷起千堆雪tyn: 能发我一份吗?

SHIJIANYUN@SINA.COM
 
后退
顶部