UWP&WP8.1 基础控件——Image
Image是UWP和WP8.1中系统自带的图片展示器。
具有较强的性能,使用也是非常的简单。
使用方式分为在XAML中,在C#代码中。
XAML中:
在XAML中使用方式非常简单。
常用XAML
Source :图片的地址
X:Name:当前控件的名称。
Tag:携带标签内容
Tapped :单击当前控件时
C# 代码中
//实例化一个Image
Image my_img = new Image();
在C#中新建一个IMAGE则是非常简单的。新建IAMGE之后添加到面板空间就可以了。
//添加
this.Content = my_img;
在c#中Image使用较难的时Source的添加。
image的Source的类型是ImageSouce类型。
第一种方法是直接添加到Source,第二种是使用BItmapImage添加。
先说第一种直接添加
//实例化一个Image
Image my_img = new Image(); //控制透明度1~0
my_img.Opacity = 0.5; //使用BitMaPImage
my_img.Source = new BitmapImage(new Uri("ms-appx:///A23.jpg", UriKind.RelativeOrAbsolute)); //添加
this.Content = my_img;
其实这种方法也是使用BItMAPiMAGE 的,但是相对简单,NEW一下使用uri的绝对值就可以了。
这种方法在当前程序包内有需要使用的图片时可以使用。
第二种BitmapImage
这种方法需要从文件方式打开图片的时候使用。
//Openfile 代表你要打开的文件。
var iFile =await StorageFile.GetFileFromPathAsync("OpenFile");
//实例化BitmapImage
BitmapImage bit = new BitmapImage();
//异步加载源,异步打开文件的随机访问流
await bit.SetSourceAsync(await iFile.OpenAsync(FileAccessMode.ReadWrite)); //实例化一个Image
Image my_img = new Image(); //控制透明度1~0
my_img.Opacity = 0.5; //使用BitMaPImage加载
my_img.Source = bit; //添加
this.Content = my_img;
基础的Image基本这么多了。
进阶Image适用方法。
问:在有屏幕触摸的情况下如何放大或者缩小图片?
答:我会两种方式。
一种是将图片加载到WebIView中,使用WEBview 自带的可以随意放大缩小图片。不过这其中涉及到HTML语言的使用。
而且使用WEBview加载本地图片也有周多不变。考虑到加载图片可以使用http://www.cnblogs.com/T-ARF/p/6430787.html这篇文章中WEBVIEW使用附加属性的方式来加载图片。会简单许多。
第二种是使用scrollViewer
这个是直接在XAML使用
<ScrollViewer ZoomMode="Enabled" >
<Image Source="搜狗截图17年04月16日2032_1.bmp"/>
</ScrollViewer>
效果 使用模拟器模拟触摸
UWP&WP8.1 基础控件——Image的更多相关文章
- UWP&WP8.1 基础控件—TextBlock和TextBox
TextBlock:文本展示控件,有着强大的功能 TextBox:文本输入控件. 这两个控件是最为常用的基础控件. TextBlock 基础用法: 打开一个UWP项目,在XAML设计页面你可以从工具箱 ...
- UWP&WP8.1 基础控件——Border
border 是边框控件 border是UWP和WP8.1最常用的控件之一. border字面意义是用来添加边框的. 基础用法 <border BorderThickness="1&q ...
- UWP&WP8.1 基础控件——Grid
Grid是一个面板控件 Grid是UWP和WPF,WP8.1中最重要的一个控件,相当相当重要. 他是一个面板控件,是用来添加其他控件 但是呢 用法确实简单的很. 大概就这个样子. 你用工具箱拖, ...
- UWP&WP8.1 基础控件—Button
Button作为最常用的控件,没有特别难的用法,是一个非常简单,可以很快就掌握的控件. Button 基础用法: 同样,在UWP项目中,可以从工具箱中拖拽到面板中进行使用.也可以使用XAML语法进行编 ...
- Win10 UWP开发系列——开源控件库:UWPCommunityToolkit
在开发应用的过程中,不可避免的会使用第三方类库.之前用过一个WinRTXamlToolkit.UWP,现在微软官方发布了一个新的开源控件库—— UWPCommunityToolkit 项目代码托管在G ...
- React Native环境搭建以及几个基础控件的使用
之前写了几篇博客,但是没有从最基础的开始写,现在想了想感觉不太合适,所以现在把基础的一些东西给补上,也算是我从零开始学习RN的经验吧! 一.环境搭建 首先声明一下,本人现在用的编辑器是SublimeT ...
- Cocos2d-JS项目之二:studio基础控件的使用
在studio里把几个基础控件往场景文件一拖,然后导出json格式的资源文件 逻辑代码如下: var HelloWorldLayer = cc.Layer.extend({ sprite:null, ...
- [iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表"练习)
A.概述 在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能 1.按钮点击后,显示为“已下载”,并且不 ...
- Delphi一共封装(超类化)了8种Windows基础控件和17种复杂控件
超类化源码: procedure TWinControl.CreateSubClass(var Params: TCreateParams; ControlClassName: PChar); con ...
随机推荐
- java代码继承疑惑,请有心人解答
总结:这段程序没有问题,编译运行都是可以的.关键是,子类的无参构造方法第一句少了super(a,b);运行后,显示了双重结果 .还有.如果子类中没有声明成员变量String name.那么结果显示父 ...
- Angular常犯的错误
ng-app="name名称" name名称 == 一定要写对 其次 angular.min导入一定要正确,一定要导入正确的angular.min的库 再次js中要写自调用 (f ...
- 2 ignite关键特性
数据注入和流计算: Ignite流式计算允许以可扩展和容错的方式处理连续不中断的数据流.在一个中等规模的集群中,数据注入Ignite的比例会很高,很容易达到每秒百万级的规模. Ignite可以与主要的 ...
- linux串口基本编程
Linux的串口表现为设备文件.Linux的串口设备文件命名一般为/dev/ttySn(n=0.1.2„„),若串口是USB扩展的,则串口设备文件命名多为/dev/ttyUSBn(n=0.1.2„„) ...
- C Primer Plus学习笔记(二)- 数据和C
从一个简单的程序开始 #include <stdio.h> int main(void) { float weight; float value; printf("Please ...
- 2015.3.3 VC6调用dll
用VC新建一对话框工程,在一按钮点击事件中添加如下代码: typedef void (WINAPI * TESTDLL)(); HINSTANCE hmod; hmod = ::LoadLibrary ...
- 第六章 Java并发容器和框架
ConcurrentHashMap的实现原理与使用 ConcurrentHashMap是线程安全且高效的hashmap.本节让我们一起研究一下该容器是如何在保证线程安全的同时又能保证高效的操作. 为什 ...
- taskkill /f /t /im processName
/*@echo off */taskkill /f /t /im WINWORD.exetaskkill /f /t /im nginx.exetaskkill /f /t /im w3wp.exet ...
- 冷扑大师AI简史:你用德扑来游戏,人家用来发Science
前言 人类又输了...... 创新工场组织的一场“人工智能和顶尖牌手巅峰表演赛中”,机器人AI冷扑大师赢了人类代表队龙之队 792327 记分牌,最后 200 万奖励归机器人所有. 在围棋项目上人类的 ...
- elastic(7)bulk
转自:https://www.cnblogs.com/xing901022/p/5339419.html bulk批量导入 批量导入可以合并多个操作,比如index,delete,update,cre ...