WPF的Image控制元件使用BitmapImage的資源佔用問題
在WPF中,想要使用Image控制元件,並將圖片匯入Image控制元件中,顯示在介面上。因此可以通過BitmapImage作為Image控制元件的源。
因此,可以這樣做:
BitmapImage bitmapImage = new BitmapImage(); //初始化BitmapImage類的一個新例項
Image image1 = new Image(); //定義一個Image控制元件
string strPath = "D:\\mImage.png";//圖片所在的位置
bitmapImage.BeginInit(); //表示BitmapImage初始化開始
bitmapImage.UriSource = new Uri(strPath);//獲取或設定BitmapImage的Uri源
bitmapImage.EndInit();//表示BitmapImage初始化結束
image1.Source = bitmapImage;//將image1控制元件的源指定為bitmapImage
按照上訴方法可以將圖片顯示到Image控制元件中,但是會存在問題,比如此時無法對顯示的圖片做其他操作,比如移動、重新命名、刪除等。就這好比windows作業系統中,無法對當前開啟的word文件進行重新命名、刪除、移動等,因為資源正被佔用。
解決方案:
將圖片資源載入到快取中,這樣就不會造成資源的佔用,便可以實現對Image控制元件載入圖片的其他操作。
方法很簡單,即在給BitmapImage指定Uri源的時候,增加語句:bitmapImage.CacheOption = BitmapCacheOption.Onload; 在載入時,將整個影象快取到記憶體中。
程式碼修改為:
BitmapImage bitmapImage = new BitmapImage(); //初始化BitmapImage類的一個新例項
Image image1 = new Image(); //定義一個Image控制元件
string strPath = "D:\\mImage.png";//圖片所在的位置
bitmapImage.BeginInit(); //表示BitmapImage初始化開始
bitmapImage.CacheOption = BitmapCacheOption.Onload;
bitmapImage.UriSource = new Uri(strPath);//獲取或設定BitmapImage的Uri源
bitmapImage.EndInit();//表示BitmapImage初始化結束
image1.Source = bitmapImage;//將image1控制元件的源指定為bitmapImage
相關推薦
WPF的Image控制元件BitmapImage以及Uri的資源佔用問題
今兒沒幹啥活兒,花了一天時間把這個問題研究了一下。通過BitmapImage的Clone方法,保持使用Uri,同樣可以解決問題。 場景: WPF下用Image控制元件展示圖片; 控制元件的圖片源自然選用BitmapImage; BitmapImage通過Uri物
WPF的Image控制元件的資源切換
首先需要做一個資源類,把圖片資源放到這個類裡。 然後需要一個轉換Converter類。 public object Convert(object value, Type targetType, object parameter, System.Globalization.Cultu
WPF的Image控制元件使用BitmapImage的資源佔用問題
在WPF中,想要使用Image控制元件,並將圖片匯入Image控制元件中,顯示在介面上。因此可以通過BitmapImage作為Image控制元件的源。 因此,可以這樣做: BitmapImage bitmapImage = new BitmapImage(
WPF 從程式集中檢索圖片資源stream給Image控制元件使用
原文: WPF 從程式集中檢索圖片資源stream給Image控制元件使用 // 獲取當前程式集 Assembly assembly = Assembly.GetAssembly(GetType()); //
android設定控制元件的字型和背景(通過資源引用)筆記
所有View的子類都具有的一個方法,設定背景顏色: int resid = getResources().getColor(R.color.background_green_low) setBackgroundColor(int resid); ------------
VC++圖片控制元件(Picture Control)顯示資源點陣圖(BMP)、檔案點陣圖(BMP)、其它格式檔案圖片(JPG\PNG\BMP)的方法
在VC++ MFC程式設計中,我們常使用Picture Control圖片控制元件來顯示影象。下面簡單歸納幾種顯示不同的方式: 第一種、資源點陣圖方式顯示BMP圖片 如果要顯示的是一張BMP點陣圖,則可以採用資源點陣圖方式,具體步驟如下: (1)將BMP檔案拷貝到工程的r
Android自定義控制元件之入門篇---整理網路上的資源
前言, 我的視訊系列 http://edu.csdn.net/course/detail/2741, 一起來學習Android… 本篇部落格主要是想要講解一下自定義控制元件如何入門,其中有好多資料資源來源自網路,綜合了網路上一些有些的博文
Android的ToggleButton控制元件隱藏提示文字或清除提示文字佔用空間的解決辦法
今天測試妹子說有個頁面的一個開關顯示跑偏了,一個Android4.4.4顯示跑偏了,一個Android7.0的手機顯示正常。 當時我就不開心了,是何方妖孽在作祟?看了下程式碼,之前是在android7.0的手機上開發的,選用了ToggleB
解決安裝Android Studio 安裝佔用c盤大量控制元件問題
1.移動.AndroidStudio編輯idea.properties檔案如下idea.config.path=E:/.AndroidStudio3.0/configidea.system.path=E:/.AndroidStudio3.0/system2.移動.Androi
com4j 呼叫控制元件後,解決無法釋放控制元件資源的方法
com4j的使用方法參見 http://blog.csdn.net/nieou/article/details/9952031 這裡討論下com4j釋放控制元件資源的問題。 com4j在Com4jObject介面中提供了一個dispose方法,用於釋放控制元件資源。但是實際
Android如何獲取fragment裡的webview控制元件資源
先大致講一下專案的框架,模仿京東分類頁面。左側listview,右側一個fragment內嵌webview。當我在MainActivity的onCreate()方法中獲取webview資源,編譯執行APP一直是崩潰。debug找到了原因--空指標異常。仔細分析發現是find
VS2015建立類庫專案後新增不了WPF資源字典,視窗,使用者控制元件處理辦法
開啟專案工程檔案在PropertyGroup標籤最後加上下面3行: <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}&l
(七十三)c#Winform自定義控制元件-資源載入窗體
前提 入行已經7,8年了,一直想做一套漂亮點的自定義控制元件,於是就有了本系列文章。 GitHub:https://github.com/kwwwvagaa/NetWinformControl 碼雲:https://gitee.com/kwwwvagaa/net_winform_custom_control.
My97DatePicker(WdatePicker)日期控制元件用法
WdatePicker[html] view plain copy print? <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!-- 它的官網是http://www.my97.n
QT獲取控制元件的內容去傳參的小發現
1://處理文字框(內容是一個連續的字串)的方法(不能直接用文字框的內容去傳參,//否則會有意想不到的錯誤發生,需要利用先拷貝到陣列,然後利用陣列去傳參), #include <QStringList> #include <QString> int arg
qt 小控制元件之textEdit
獲取 textedit 的文字內容:QString text = ui->textEdit->toPlainText(); 設定textedit 的文字內容:ui->textEdit->append(“lkf”);此方法追加內容是換行追加 char b[10]
ext3.0 樹控制元件處理
前幾個月,一直在學習ext,並用它做了個專案,其中涉及到大量的樹列表的建立,動態修改。現在不忙了,總結出來: //建立節點 root為樹的根節點,node當前要加入的節點,nodeArray所有的樹節點(可以不包括根節點) checked表示樹節點是否加入check框,帶check框的節點都
高階控制元件ListVie的使用
activity_main.xml 檔案(配置檔案) <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http:
高階控制元件 自動提示文字框與下拉列表
一、 高階控制元件使用步驟 1 、獲取資料 2 、建立介面卡 3 、繫結介面卡 二、自動提示文字框 1 、AutoCompleteTextView(單一提示) android:completionThreshold=”1” 2 、MultiAutoCompleteTextV
控制元件TextView與EditText的簡單運用
文字框(TextView) 簡介 TextView直接繼承View,作用就是在介面上顯示文字(類似於Swing中的JLabel),同時它還是EditText、Button兩個UI元件類的父類。 另外Android關閉了它的文字編輯功能,如果想編輯內容,則可以使用EditText。