picture控件~~~~~~~

Libra_Chen 2002-10-15 09:08:00
1.我用pb8的帮助中setpicture的example,me下提示pbvm80.dll错误,2000下直接提示非法操作。
2.用ole存入数据库的jpg的blob可以在picture显示吗?
3.如果插入图片大小不同,如何让其自动适应picture的大小,但长宽比不变?

(补充:我搜索到了以前别人的帖子,但是空链接,只好再次麻烦大家了。)
...全文
16 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Libra_Chen 2002-10-16
  • 打赏
  • 举报
回复
补充,问题3是指让图片适应p_1控件的大小,不是用original sieze
Libra_Chen 2002-10-16
  • 打赏
  • 举报
回复
ok,回头我试试,成功就有分。
balloonman2002 2002-10-15
  • 打赏
  • 举报
回复
第3点:
不要选中PICTURE控件的“original sieze”选项
第1点:
你的BMP图片超过FILEREAD函数所能读取的大小32766了,可采用下列代码就不会报错了:
flen = FileLength('c:\'+string(photo_t)+'.jpg')
li_FileNum = FileOpen('c:\'+string(photo_t)+'.jpg', &
StreamMode!, Read!, LockRead!)
IF flen > 32765 THEN
IF Mod(flen, 32765) = 0 THEN
loops = flen/32765
ELSE
loops = (flen/32765) + 1
END IF
ELSE
loops = 1
END IF
new_pos = 1
FOR i = 1 to loops
bytes_read = FileRead(li_FileNum, b)
tot_b = tot_b + b
NEXT
if isnull(tot_b) then
messagebox('x','xxxxxxxx')
end if
p_1.setpicture(tot_b)
FileClose(li_FileNum)

第2点:一样可以,只要能够正确SELECTBLOB即可
Libra_Chen 2002-10-15
  • 打赏
  • 举报
回复
对问题2,我用setpicture没什么作用。从数据库读出blob和从文件读出的一样吗?什么才能用setpicture?
对问题1,代码如下:
integer fh, ret
blob Emp_pic
string txtname, named
string defext = "BMP"
string Filter = "bitmap Files (*.bmp), *.bmp"
ret = GetFileOpenName("Open Bitmap", txtname, &
named, defext, filter)
IF ret = 1 THEN
fh = FileOpen(txtname, StreamMode!)
IF fh <> -1 THEN
FileRead(fh, Emp_pic)
FileClose(fh)
p_1.SetPicture(Emp_pic)
END IF
END IF

结果就出错了,难道d版的就是不行?
hzhxxx 2002-10-15
  • 打赏
  • 举报
回复
1. 不清楚
2. 可以
3. 设置 originalsieze property,


不过PB 对于图形处理实在不感恭维!

604

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 控件与界面
社区管理员
  • 控件与界面社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧