当前位置: 代码迷 >> PB >> 实现1图片显示,原比例显示图片,大于控件大小可用鼠标拖动浏览
  详细解决方案

实现1图片显示,原比例显示图片,大于控件大小可用鼠标拖动浏览

热度:68   发布时间:2016-04-29 05:55:36.0
实现一图片显示,原比例显示图片,大于控件大小可用鼠标拖动浏览
实现一图片显示,原比例显示图片,大于控件大小可用鼠标拖动及滚动条浏览
------解决方案--------------------
Picture控件就行,但PB做这个,功能有限!
------解决方案--------------------
建议使用Pegasus ImagXpress Pro Pegasus ImagXpress Pro(有特别版)

国外知名图像处理软件公司力作,提供专业的图像处理功能,用于开发文档图像管理应用程序包括图形编辑、浏览、打印、扫描、格式转换等功能,支持多达30种文件格式的处理并提供完整复杂的图形处理函数,并且速度极快。ImageXress可以很方便地处理图形的旋转、透明、动画、修剪的功能,提供多中图像调整算法,先进的进程管理,自动调整尺寸,JPEG2000和JPEG图像的免失真效果。 



------解决方案--------------------
up..................................
------解决方案--------------------
up.................................
------解决方案--------------------
用.NET写吧。我也没有做过。用.NET写个控件
------解决方案--------------------
呵呵,你的pb哪个版本,N年前有写过的,发个邮箱我重写一个给你~~
------解决方案--------------------
引用:
建议使用Pegasus ImagXpress Pro Pegasus ImagXpress Pro(有特别版)

国外知名图像处理软件公司力作,提供专业的图像处理功能,用于开发文档图像管理应用程序包括图形编辑、浏览、打印、扫描、格式转换等功能,支持多达30种文件格式的处理并提供完整复杂的图形处理函数,并且速度极快。ImageXress可以很方便地处理图形的旋转、透明、动画、修剪的功能,提供多中图像调整算法,先进的进程管理,自动调整尺寸,JPEG2000和JPEG图像的免失真效果。

有破解的,发一个共享
------解决方案--------------------
//====================================================================   
//   函数:   of_getpicturesize()   pb11.5
//--------------------------------------------------------------------   
//   描述:   获得图片文件的图像尺寸大小(支持GIF,JPG,BMP,PNG格式)   
//--------------------------------------------------------------------   
//   参数:     
// value         string as_FileName           图片文件名称   
// reference long     al_PictureWidth   返回图片宽度   
// reference long     al_PictureHeight 返回图片高度   
//--------------------------------------------------------------------   
//   返回值:     integer 1   -   成功,0   -   失败   
//--------------------------------------------------------------------   
 
 
Integer   li_File,   li_DataRead   
Blob   lb_Data   
Long   ll_FileLength,ll_PictureWidth,ll_PictureHeight   
Long   ll_DataLen,ll_DataPos,ll_FilePos   
Boolean   lb_LoopFlag   =   True   
Char   lc_Char1,lc_Char2   
 
//文件不存在   
If   Not   FileExists(as_FileName)   Then   Return   0   
 
//取文件大小   
ll_FileLength   =   FileLength(as_FileName)   
 
//打开文件   
li_File   =   FileOpen(as_FileName,StreamMode!)   
If   li_File   =   -1   Then   Return   0   
 
//读取文件   
li_DataRead   =   FileRead(li_File,lb_Data)   
If   li_DataRead   <=   0   Then   
FileClose(li_File)   
Return   0   
End   If   


//Int li_rtn
//Byte lb_byte
////myBlob = Blob (sle_1.text, EncodingUTF8!)
//li_rtn = GetByte(lb_Data, 18, lb_byte)
//

Byte ly_byte[]
ly_byte[] = GetByteArray(lb_Data)
//messagebox("getbyte", string(lb_byte))


//   GIF目前主要有两种类型   
//   1.   标识为GIF87a,   只是用来存储单幅静止图像   
//   2.   标识为GIF89a,   可以同时存储若干幅静止图像并进而形成连续的动画   
//   文件的前   6   个字节为标识:GIF87a   或   GIF89a,   第   7,8   字节为图像宽度(width),     
//   第   9,10   字节为图像高度(height),   注意两个字节中低位在前   
 
//   GIF   文件格式判断   
If   String(BlobMid(lb_Data,1,4),EncodingANSI!)   =   'GIF8'   Then   
  ll_PictureWidth=  ly_byte[7]+ly_byte[8]*256
  ll_PictureHeight=  ly_byte[9]+ly_byte[10]*256

End   If   
 
//   JPEG文件格式   
//   前   3   个字节为标识:   0xFF,0xD8,0xFF   
If   ly_byte[1]  =   255   and ly_byte[2]   = 216  and ly_byte[3] = 255   Then   
  相关解决方案