我有现成的技术,可以加密256色图象并可在Delphi的TImage中显示,TImage一切属性均可用,真彩版的正在开发,EMail到[email protected]我发个例子给你
解决方案 »
- 如何动态创建excel单元格的问题?
- 用DELPHI如何调用的DLL
- 函数winexec 在98和2000下有区别吗?
- 怎样可以看到各控件的代码?
- SQL SEVER库中的DATE字段为空值,到了TDataSet里变成1899-01-01,怎么办?
- 如何将jpg的图片加入到sql server 的 image类型的字段中阿,使用ado
- 一个窗体只是 Create 但没有现示出来,但是我按 F3(那个窗体中菜单的快捷键),为什么会进入相应的菜单进行处理???
- 有关于COM+对象对SQL数据库有自增字段ID进行更新时的错误
- 郁闷啊,InternetExpress!!!
- Delphi 5下要做一个多 Y 轴的曲线图形,如何实现 ?
- 怎样自动启动程序?
- copy问题
现行的图片如bmp, jpg都是公开的规格, 都无加密的保安.因此你或许先把
所有图片存入数据库中, 只有合法用户才可观看. 但当让他们另存新档之後
便无其他的方法了.
var
fs1, fs2: TMemoryStream;
c: char;
begin
//加密
fs1 := TMemoryStream.Create;
fs2 := TMemoryStream.Create;
fs1.LoadFromFile(imagefile);
fs1.Position := 0;
c := 'A'; //相当于改了头文件 fs2.Write(c, 1);
fs2.CopyFrom(fs1, fs1.Size); //这里怎么简化(不用拷来拷去的?)
fs2.SaveToFile(tempFile);
fs1.free;
fs2.free; //解密
fs1 := TMemoryStream.create;
fs2 := TMemoryStream.create;
fs1.LoadFromFile(tempFile);
fs1.Position := 1; //去掉前面的"A"
fs2.CopyFrom(fs1, fs1.size - 1);
fs2.SaveToFile(tempFile2); //这里怎么简化(不用拷来拷去,临时文件什么的)
image2.Picture.LoadFromFile(tempFile2);
fs1.free;
fs2.free;
end;
ms2 := TMemoryStream.Create;
ms1.LoadFromFile(imagefile);
for i := ms1.size-1 downto 0 do
begin
ms1.Seek(i, 0);
ms2.CopyFrom(ms1, 1);
end;不过这个算法有问题,对一张2M的图片居然需要好几秒钟。特此请教各位高手,如何快速对TStream里的内容进行或运算,或把它的内容翻过来。