台灣最大程式設計社群網站
線上人數
6077
 
會員總數:246136
討論主題:189720
歡迎您免費加入會員
討論區列表 >> ASP >> 請問我要如何在下列語法中判斷圖片檔是直式或橫式,而使圖片放置方向不同
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請問我要如何在下列語法中判斷圖片檔是直式或橫式,而使圖片放置方向不同
價值 : 80 QP  點閱數:2851 回應數:20
樓主


門外漢
0 155
2279 412
發送站內信

請問我要如何在下列語法中判斷圖片檔是直式或橫式

match_picture=trim(rs("match_picture"))
if trim(match_picture)=empty or trim(match_picture)="" then
match_picture=" "
else
b=split(match_picture,".") '移動到這裡
checkFileName=b(UBound(b)) '移動到這裡
if checkFileName="jpg" or checkFileName="jpeg" or checkFileName="jpeg" or checkFileName="gif" or checkFileName="bmp" or checkFileName="JPG" or checkFileName="JPEG" or checkFileName="GIF" or checkFileName="BMP" then


'如何判斷下列圖片方向,而使圖片放置方向不同
match_picture="<p align='center'><img src=data/"& match_picture &" onClick='changeSize(this, 600, 450);' width='64' height='48' align='middle' border='0'>"



else
match_picture="<p align='left'><a target='_blank' href=data/" & match_picture &">" & match_picture & "</a>"
end if
end if


我有用下列語法測試,可以用,但要如何可以結合上面語法
<script type="text/javascript">
function showwh() {
if ( img1.width < img1.height ) { img1.width = 400; img1.height = 600; }
if ( img1.width > img1.height ) { img1.width = 600; img1.height = 400; }
}
</script>

1樓
回應

羅伯斯
檢舉此回應
加一個判斷 showwh() 的函數傳回值,並依傳回值設置圖片方向
本篇文章回覆於2016-06-27 14:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應


檢舉此回應
如果只在這一列判斷式修正可否?
match_picture="<p align='center'><img src=data/"& match_picture &" onClick='changeSize(this, 600, 450);' width='64' height='48' align='middle' border='0'>"
本篇文章回覆於2016-06-27 14:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應


檢舉此回應
因為我對script語法不熟
本篇文章回覆於2016-06-27 14:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

羅伯斯
檢舉此回應
unction showwh() 有傳回值嗎?,要先判斷,再依傳回值設定

本篇文章回覆於2016-06-27 16:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應


檢舉此回應

只有觸發下列語法,好像沒有傅回值..
<body onLoad="showwh()">
<img name="img1" src="data/201606211040308黃花風鈴木.jpg" />
</body>
本篇文章回覆於2016-06-27 16:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

彩虹
檢舉此回應
哈囉

通常在這部份不會有人去「同時」指定「width」、「height」
因為每一張圖片比例一定都不太相同,例如有三張圖片,比例分別為:「16:9」、「4:3」、「2:3」
你如果直接設定 width="200" height="300",我相信其他兩張一定會跑掉,被壓扁或拉寬

所以我建議你選擇其中一個來指定 (依版面需求)
例如:
你限制高度height="600",請不要在設定width,他會自動幫你等比例調整~
換句話說,如果你指有指定width="400",那麼圖片的height將會自動調整
本篇文章回覆於2016-06-27 17:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

彩虹
檢舉此回應
在思考一點,如果圖片「xxx.jpg」是「正方型」呢~ 也就是1:1的圖片

這時候你設定<img scr="data/xxx.jpg" width="640" height="480">
你覺得圖片會長什麼樣子,一定很醜,已經不是原來的正方形

所以只要設定其中一個屬性即可,如下
<img scr="data/xxx.jpg" width="640">
本篇文章回覆於2016-06-27 17:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

羅伯斯
檢舉此回應
你的 showwh 必需要有傳回值如下:

<pre lang="javascript">
function showwh() {
Boolean r

if ( img1.width < img1.height ) { img1.width = 400; img1.height = 600; } then
r = true
else
r = false
end if
}
return(r)



本篇文章回覆於2016-06-27 17:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應


檢舉此回應
抱歉因個人語法功力太差了,4樓與8樓的語法還是組合不起來,跑不出來..
本篇文章回覆於2016-06-28 08:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

彩虹
檢舉此回應
#羅伯斯
你的用法是不對的,不可能把javascript的值給ASP做判斷
作者上半部是ASP
下半部是javascript語法

#琛
不曉得你有沒有看一下我在#6、#7的回復
另外我想詢問一下,你所謂的「判斷圖片檔是直式或橫式,而使圖片放置方向不同」,這段需求是指怎樣的放置方向呢~?
本篇文章回覆於2016-06-28 09:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應


檢舉此回應
相片有直式及橫式,依照寬及高的大小來判斷是直拍或是橫拍
本篇文章回覆於2016-06-28 09:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
如果只是單純要指定圖片的寬高,避免圖片超過預設範圍的同時,還要避免圖片變形
可以試試看用CSS的max-height和max-width
把JS都拿掉
直接在img中加上style設定即可
<img src="..." style="max-height: 600px; max-width: 600px; border: 0;" />
src="..."請自行替換成你的圖檔位置,試試看是不是你要的效果
本篇文章回覆於2016-06-28 09:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應


檢舉此回應
如果有辦法去讀取相片的寬及高度,就可以以高度及寬度大小判斷來判別了
本篇文章回覆於2016-06-28 09:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
回應

彩虹
檢舉此回應
麻煩看一下 小舖-站內信
本篇文章回覆於2016-06-28 10:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

羅伯斯
檢舉此回應
其實可以不用透過函數
直接以System.Drawing.Image 屬性
取得圖檔的長寬值,做為判斷依據
程式碼如下:


本篇文章回覆於2016-06-28 11:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.