Image 控制項圖片動態調整大小
来源:互联网 发布:mybatis如何打印sql 编辑:程序博客网 时间:2024/06/07 20:05
ASP.NET 的 Image 控制項到了客戶端會被 Rende 成 Img 控制項。Image 控制項在 Server 端固然可以使用 Image.Width 來查詢它的圖片寬度,但事實上你根本是查不到它的實際寬度的。不信的話,你可以親自去試試。你將會發現,除非你在 Image 控制項的宣告中直接指定 Widht 的值,否則你查出來的值是 Nothing/Null。
例如,明明圖片是 640 X 480,但如果你在 <asp:Image ...> 宣告中沒有指定寬度,那麼你得到的 Image.Width.Value 是 0。如果你在 <asp:Image ...> 宣告中直接指定寬度,例如 Width="500",那麼你使用 Image.Width.Value 會得到 500。但是這個值並不一定是圖片真正的寬度!如果圖片的實際維度是 640 X 480,那麼你得到的值,仍然是你所強制指定的 500,而不是 640。
在我所遇到的例子中,如果使用者上傳的圖檔太寬,那麼如果你不予處理的話,那麼這個圖片在顯示時很可能會把整個版面給破壞掉。當然,你可以在程式中(例如 DataBinding() 事件中)以 IO 動作讀取圖檔的實際寬度,然後再作處理。但是這未免太傷效能了!
其實最好的方法,還是在讓客戶上傳圖檔之後,判斷其寬度,再決定要不要接受。但是客戶可能花了時間上傳之後,才發現被拒絕的訊息,心裡可能產生很大的埋怨。有時候,其大小實在差異不大的情況之下(例如你只接受 640 X 480,但客戶的圖檔偏偏是 680 X 440,差一點點),那麼客戶恐怕會非常的不爽。
因此變通的方法,就是使用 JavaScript 在客戶端進行圖片寬度的調整。如此就既不需要為了極少數的偶發狀況而浪費 Server 端效能,也不用勞煩客戶自己修改圖檔。方法很簡單,就是在 Image 加上 onload 事件(請注意,不是 Server 端的 OnLoad 事件),再加上簡單的 JavaScript 就可以了:
转自:http://www.dotblogs.com.tw/johnny/archive/2010/01/23/13234.aspx
- Image 控制項圖片動態調整大小
- 缩放image大小
- java Image大小处理
- 修改image大小
- UITableViewCell中image固定大小
- Luanch Image 大小及设置
- iOS 启动页image大小
- iosUIButton中调整image大小
- 控制表格大小控制表格大小
- 控制骰子的大小
- 代码控制框架大小
- 控制网页大小
- 窗体大小控制
- 音量大小控制
- 三,窗口大小控制
- 控制数据表尺寸大小
- linux 控制音量大小
- JS控制浏览器大小
- DOS批处理中%cd%和%~dp0的异同
- 生产者-消费者模式
- MVC 3.0 Areas(区域)的使用
- 拥抱变革
- org.springframework.orm.hibernate3.HibernateSystemException: No default constructor for entity: ****
- Image 控制項圖片動態調整大小
- 命令行下运行php的方法和技巧
- emacs 之 缩写表(abbrev)
- 用动软代码生成器生成三层架构
- [小技巧]通过PHP函数获取当前运行的环境 来进行判断执行逻辑
- 如何動態變更網頁中 HTML 控制項的 Class 屬性
- 運用 CSS 讓過長文字以省略符號取代
- win7多重网络
- 郵寄連結加上預設的主題與內容