关于记录所画线轨迹的问题
在一个Image里显示波形,波形很长,可以用ScrollBar调节来显示所有的波形。我是用ScrollBar动一次,贴一次图到Image里的方式来显示波形。现在想在Image里用画笔圈出来波形,并且可以在上面写字。
问题是:下次调出这个波形时,我想显示所圈的框,还有上面写的字,不知有什么好办法?最好不用生成图像的方法,因为波形很长,那样图像太大。
[解决办法]
可以使用文件的方式,记录在什么位置,画圈和文字。
坐标 文字
------------------
(10,10) 文字1
(20,20) 文字2
...
下次图像加载的时候,读取文件内容并在相应的位置画圈输出文字
[解决办法]
生成自己的文件格式
比如
Wave:...
Word:20,20, "哈哈 "
Word:10,10, "嘻嘻…… "
至于波形,完全可以将其傅立叶展开,存储时只存几个系数即可,大大节约了空间,精度又高
[解决办法]
记下你画笔和写字的范围,然后把这个范围的图像保存起来.名字为 X_Y.bmp, X Y 是范围的左上角.
[解决办法]
在波形Image上覆盖一个Image2, 同样大小, 设Image2-> Transparent = true;
你写字画图在Image2上, 然后保存成JPG. 文件很小.
TJPEGImage *jp = new TJPEGImage();
Graphics::TBitmap *bmp = new Graphics::TBitmap;
try
{
jp-> Assign(Image2-> Picture-> Bitmap);
jp-> SaveToFile( "c:\\draw.jpg ");
}
__finally
{
delete jp;
delete bmp;
}
[解决办法]
上面bmp没用, 应该去掉.