VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

大尺寸圖片瀏覽
前往頁面 1, 2  下一頁
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
Patrick Wu



註冊時間: 2007-01-03
文章: 223
來自: 台北市

第 1 樓

發表發表於: 星期一 三月 19, 2007 4:03 pm    文章主題: 大尺寸圖片瀏覽 引言回覆

參考各位前輩的資料:
我也寫了一個 大尺寸圖片 瀏覽 程式 看的是地圖 要將 地圖放大 看細部的內容 THISFORM.圖片內之CLICK 下此旨另 (點一下 將地圖放大 1.05 倍 )
THISFORM.圖片.WIDTH = THISFORM.圖片.WIDTH * 1.05
THISFORM.圖片.HEIGHT = THISFORM.圖片.HEIGHT * 1.05
問題來了 : 但地圖之 右側 及 下面 也同時會被擠掉 請問各位 解決方法
THISFORM.圖片.STRETCH = 0 或
THISFORM.圖片.STRETCH = 1
都試過了 => 無解 =>請各位指導
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2157


第 2 樓

發表發表於: 星期一 三月 19, 2007 6:20 pm    文章主題: 引言回覆

把圖片物件放在一個container,
利用圖片.top及.left 來調整圖片的位置,
這就是你要的功能.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
wuno2001



註冊時間: 2007-02-09
文章: 56


第 3 樓

發表發表於: 星期一 三月 19, 2007 6:34 pm    文章主題: 引言回覆

針對你用的方法,我試了一下,
一開始要把捲軸可視畫面衝到預期之最大(此例以6倍測試),
(ps:如果編成exe步驟1跟2都不用只要表單屬性 ScrollBars=3)

form1 的表單屬性 ScrollBars=3
1. 在form1 的 init 事件(或者activate 事件)
THISFORM.image1.WIDTH = THISFORM.image1.WIDTH * 6
THISFORM.image1.HEIGHT = THISFORM.image1.HEIGHT * 6
THISFORM.command1.tabindex=1

2. 在form1上設一個command1的gotfocus事件和click事件還原初始大小
THISFORM.image1.WIDTH = 初始WIDTH
THISFORM.image1.HEIGHT = 初始HEIGHT

3. image1 的 click 事件可作放大或縮小(自己決定)

Garfield大大的方法也不錯.


wuno2001 在 星期四 三月 22, 2007 10:33 am 作了第 2 次修改
回頂端
檢視會員個人資料 發送私人訊息
Patrick Wu



註冊時間: 2007-01-03
文章: 223
來自: 台北市

第 4 樓

發表發表於: 星期二 三月 20, 2007 9:17 am    文章主題: 引言回覆

謝謝 garfield 的指導 我也試過 :
THISFORM.圖片.WIDTH = THISFORM.圖片.WIDTH * 1.05
THISFORM.圖片.HEIGHT = THISFORM.圖片.HEIGHT * 1.05
THISFORM.圖片.TOP = 0
THISFORM.圖片.LEFT = 0
將圖片以 左上角 為基準點 但放大後還是被擠掉
我再試試 wuno2001 (是新同學吧) 的方法 再向各位回報 感謝兩位的指導
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
Patrick Wu



註冊時間: 2007-01-03
文章: 223
來自: 台北市

第 5 樓

發表發表於: 星期二 三月 20, 2007 9:23 am    文章主題: 引言回覆

SORRY garfield ( 把圖片物件放在一個container ) 我忽略了這行字 我再試試 謝謝 garfield
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
wuno2001



註冊時間: 2007-02-09
文章: 56


第 6 樓

發表發表於: 星期二 三月 20, 2007 10:05 am    文章主題: 引言回覆

補充一下,我的image1的初始WIDTH=241,
我的image1的初始HEIGHT=157,
當我一開始用*10好像超出了極限,所改用*6,
*9也不行,*8是OK的(捲軸才會正常出現).
極限是windows螢幕解析度的2倍
回頂端
檢視會員個人資料 發送私人訊息
Chris Lee



註冊時間: 2004-03-23
文章: 32


第 7 樓

發表發表於: 星期三 三月 21, 2007 11:35 am    文章主題: 試試看... 引言回覆

public lo_form
lo_form = createobject("myform")
lo_form.show()

define class myform as form
caption = "JPG in IE"
autocenter = .t.
width = 500
height = 300
showwindow = 2
borderstyle = 2
maxbutton = .f.
minbutton = .f.
showtips = .t.

add object ie as ie
add object zoom_in as commandbutton with caption = "+", tooltiptext = "放大"
add object zoom_out as commandbutton with caption = "-", tooltiptext = "縮小"
add object reset as commandbutton with caption = "0", tooltiptext = "原大小"

procedure init
with this
.ie.width = .width - 30
.ie.height = .height
.ie.left = 0
.ie.top = 0
.ie.navigate("file://" + addbs(fullpath(curdir())) + "1.jpg")
do while .ie.readystate <> 4 or .ie.busy
enddo

with .ie.document.body.style
.borderStyle = "solid"
.borderColor = "dimgray"
.borderWidth = "1px"
endwith

with thisform.ie.document.images.item(0)
.setattribute("old_width", .width)
.setattribute("old_height", .height)
endwith

.zoom_in.top = 5
.zoom_in.left = .ie.left + .ie.width + 5
.zoom_in.width = 20

.zoom_out.top = .zoom_in.top + .zoom_in.height + 3
.zoom_out.left = .zoom_in.left
.zoom_out.width = 20

.reset.top = .zoom_out.top + .zoom_out.height + 3
.reset.left = .zoom_in.left
.reset.width = 20
endwith
endproc

procedure zoom_in.click
with thisform.ie.document.images.item(0)
.width = .width * 1.5
.height = .height * 1.5
endwith
endproc

procedure zoom_out.click
with thisform.ie.document.images.item(0)
.width = .width * 0.75
.height = .height * 0.75
endwith
endproc

procedure reset.click
with thisform.ie.document.images.item(0)
.width = .old_width
.height = .old_height
endwith
endproc
enddefine

define class ie as olecontrol
oleclass = "shell.explorer.2"

procedure refresh
nodefault
endproc
enddefine
回頂端
檢視會員個人資料 發送私人訊息
Patrick Wu



註冊時間: 2007-01-03
文章: 223
來自: 台北市

第 8 樓

發表發表於: 星期六 三月 24, 2007 9:58 pm    文章主題: 引言回覆

謝謝 Chris 的指導 程式 OK 謝謝 不盛感激
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
Chris Lee



註冊時間: 2004-03-23
文章: 32


第 9 樓

發表發表於: 星期一 三月 26, 2007 8:28 am    文章主題: 引言回覆

善用 IE,腰馬合一(syntech 語)。 8)
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4212
來自: Taipei,Taiwan

第 10 樓

發表發表於: 星期一 三月 26, 2007 9:24 am    文章主題: 引言回覆

何謂 "腰馬合一" ? Smile
_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
Patrick Wu



註冊時間: 2007-01-03
文章: 223
來自: 台北市

第 11 樓

發表發表於: 星期三 三月 28, 2007 1:22 pm    文章主題: 引言回覆

先謝謝 Chris Lee 的程式 解決目前的問題
但請問各位先進前輩的是 FORM 上的 捲軸 值是否有辦法測得
FORM.ScrollBars=3
THISFORM.HEIGHT = 400
THISFORM.image1.HEIGHT = 600 此時 捲軸 會出現 但值為多少
THISFORM.image1.HEIGHT = 800 捲軸 值 又為多少 600 及 800 捲軸 內 移動遊標 的高度是不一樣的
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
Chris Lee



註冊時間: 2004-03-23
文章: 32


第 12 樓

發表發表於: 星期四 三月 29, 2007 8:40 am    文章主題: 引言回覆

viewportleft, viewporttop 兩個屬性。

不過,VFP 的 ScrollBar...,不太能信任。尤其是有 AddObject() 之時。
回頂端
檢視會員個人資料 發送私人訊息
Patrick Wu



註冊時間: 2007-01-03
文章: 223
來自: 台北市

第 13 樓

發表發表於: 星期四 三月 29, 2007 2:44 pm    文章主題: 引言回覆

謝謝 Chris 的指導
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
weiyi07



註冊時間: 2007-03-16
文章: 10


第 14 樓

發表發表於: 星期四 三月 29, 2007 6:09 pm    文章主題: Re: 大尺寸圖片瀏覽 引言回覆

[FORM.ScrollBars=3
THISFORM.HEIGHT = 400
THISFORM.image1.HEIGHT = 600 此時 捲軸 會出現 但值為多少
THISFORM.image1.HEIGHT = 800 捲軸 值 又為多少 600 及 800 捲軸 內 移動

你可以修改成
THISFORM.Width = sysmet(1)- 7
THISFORM.Height = sysmet(2) -33
這樣
回頂端
檢視會員個人資料 發送私人訊息
Patrick Wu



註冊時間: 2007-01-03
文章: 223
來自: 台北市

第 15 樓

發表發表於: 星期四 三月 29, 2007 8:23 pm    文章主題: 引言回覆

THISFORM.VIEWPORTHEIGHT = ?
THISFORM.VIEWPORTWIDTH = ?
THISFORM.VIEWPORTLEFT = ?
THISFORM.VIEWPORTTOP = ?
都測得出來 但為 唯讀
我想用於 THISFORM.容器.圖片.WIDTH 及 HEIGHT 放大時 改變 捲軸的最高值 以達到瀏覽全圖的功能
FORM.容器.圖片.WIDTH 及 HEIGHT 放大時 捲軸 無法像 Chris 的程式 會重置
TOP 及 LEFT 都用了 唉 我程度太差了 =>無解 =>繼續努力 謝謝各位 先用 Chris 的程式 謝謝
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 1, 2  下一頁
1頁(共2頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作