Tag: windows runtime

如何保存BitmapImage WinRT

我有BitmapImage: BitmapImage image = new BitmapImage(); image.SetSource(memStream); 我想将图像保存到磁盘以便将来查看。 我找不到一个如何做到这一点的工作示例? 第二个问题。 我需要获得像素的颜色(如: Color cl=image.GetColorPixel(X,Y) ),我该怎么做? 谢谢!

在.NET Windowsapp store应用中替换CultureInfo.GetCultures

.NET API for Windows Store应用程序中不存在CultureInfo.GetCultures。 我们怎样才能阅读所有可用的文化呢? 我知道语言列表和主要的应用程序语言。 我可以通过这种方式阅读应用程序可用的所有语言。 但我需要阅读系统上可用的所有文化(语言)。 以前使用CultureInfo.GetCultures很容易。

我可以向PasswordCredential.Properties添加自定义属性吗?

在WinRT API中有Windows.Security.Credentials命名空间,其中包含PasswordCredential类。 使用它我们可以加密敏感数据,如用户名和密码,但类本身有一个名为“属性”的属性,它看起来像一个方便的容器,其他自定义属性以某种方式与存储的凭据相关,但我不能让它工作。 文档中的“属性”有一个“只读”访问类型,但我认为这只意味着我无法更改它指向的容器的引用。 我的问题是: PasswordCredential的“Properties”属性是否可用于程序员? 对不起文本中的任何错误,你也可以在答案中更正我的英语,这不是我的母语;) 编辑:这可能是有用的: 以下代码中的“添加”方法抛出ArgumentException: PasswordVault v = new PasswordVault(); PasswordCredential c = new PasswordCredential(“TEST”, “TEST”, “TEST”); c.Properties.Add(“Name”, “testName”); v.Add(c);

将流保存到c#和winrt中的文件中

我在c#和winrt: var stream = await speech.GetSpeakStreamAsync(SpeechText.Text, language); stream是一个Windows.Storage.Streams.IRandomAccessStream 所以我对c#和winrt完全不熟悉。 我如何将包含wav文件的流保存到文件中? 在此先感谢Basilius

从websource下载字节数

我试图在Windows Phone 8.1 Runtime上使用HttpWebRequest (可以是任何不同的方式 – 我尝试过WebRequest,HttpClient …)从websource下载一些字节 – 完整的代码: private async void Download1000_Click(object sender, RoutedEventArgs e) { Debug.WriteLine(“Download Started”); HttpWebRequest longRequest = (HttpWebRequest)WebRequest.Create(new Uri(@”http://s3.amazonaws.com/dnr/dotnetrocks_0986_enterprise_sharepoint.mp3″)); longRequest.Headers[HttpRequestHeader.IfModifiedSince] = DateTime.UtcNow.ToString(); // prevent caching the whole file longRequest.AllowReadStreamBuffering = false; using (WebResponse myResponse = await longRequest.GetResponseAsync()) using (Stream myStream = myResponse.GetResponseStream()) { int bytesRead = 0; byte[] myBuffer […]

无法从DeviceInformation.Id创建UsbDevice

我正在尝试使用仅适用于PC的通用Windows应用程序(无手机)(WinRT)通过Windows.Devices.Usb API连接到设备(SecuGen Hamster Pro 20)。 该设备是指纹扫描仪。 我已经完成了在线找到的所有步骤: 我找了所有使用的设备: var myDevices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(); 这将返回大约1400个设备。 经过一些过滤使用: var resultList = myDevices.Where(s => s.Name.ToLower().Contains(“secu”)).ToList(); resultList在我的机器中包含3个设备(我在其他机器上尝试了它,并在一些机器上找到了10个结果)。 我没有使用重载来查找设备DeviceInformation.FindAllAsync(String aqsFilter)因为它返回0结果,但我确定我做得对(使用了正确的VID和PID) 这里的问题是当我尝试使用以下三种结果中的任何一种创建UsbDevice对象时: UsbDevice device = await UsbDevice.FromIdAsync(resultList[0].Id); 返回值为null,我已经尝试了所有这些( resultList[0] , resultList[1] , resultList[2] )没有运气。 我使用以下方法配置function: 我还试图从DeviceInformation.FindAllAsync()返回的1400个设备中创建一个UsbDevice对象但是所有返回null甚至一些抛出一个exception,表示the system cannot find the file specified 0x80070002 我试图为它返回DeviceAccessStatus.Unspecified的设备读取DeviceAccessStatus.Unspecified 任何人都可以带我到我在这里失踪的地方?

如何在C#中实现IRandomAccessStream?

我想在C#中实现一个IRandomAccessStream实例(它将返回实时生成的数据)。 该流实际上不需要是可写的或可搜索的,但我想在ReadAsync方法(实际上是IInputStream一部分)中返回我自己的数据。 public IAsyncOperationWithProgress ReadAsync(IBuffer buffer, uint count, InputStreamOptions options) { throw new NotImplementedException(“To be done”); } 我的两个主要问题是: 如何返回实现IAsyncOperationWithProgress ? 框架中是否有任何内容可以帮助解决这个问题? 如何将数据写入缓冲区? IBuffer只有Length和Capacity属性(具体的Buffer类也不再提供)。

从CaptureElement和MediaCapture执行实时video流处理

在我的Windows 8商店应用程序中,我倾向于执行实时video流处理(例如,面部检测)。 技术1 在我以前的Windows 7应用程序中,我能够使用以下技术( C#中的相机面部检测使用Emgu CV(OpenCV in .NET)和WPF )来执行实时video处理。 该技术具有固定周期定时器回调,以主动从相机对象查询图像缓冲区 。 void timer_Tick(object sender, EventArgs e) { Image currentFrame = capture.QueryFrame(); // Perform image processing based on currentFrame 技术2 我之前在Android中使用的另一种技术是,我将在相机上安装相机缓冲预览回调。 摄像机将通过传递捕获的摄像机缓冲区定期触发回调 。 从那里,我可以执行图像处理。 public abstract void onPreviewFrame (byte[] data, Camera camera) { // Perform image processing based on data 但是,在谈论Windows 8 Store Application的video处理的文章中,他们大多使用内置处理function 如何旋转捕获的video(使用C#/ […]

如何从.NET Core库引用Windows.winmd?

我希望从.NET Core库中使用Windows运行时类型,如Frame或Button 。 当我使用传统的PCL(针对Windows / Windows Phone 8.1)时,它似乎工作正常。 但是,出于某种原因,在我将项目切换到DNX之后,它没有编译。 这是我的project.json : { “frameworks”: { // Profile32 == Windows + Windows Phone 8.1 “.NETPortable,Version=v4.6,Profile=Profile32”: { } } } 这是我的示例代码: using System.Linq; using Windows.UI.Xaml.Controls; public class Sample { public void Method() { Enumerable.Empty(); } } 我在此片段中的Frame上遇到编译器错误,说无法找到该类型。 所以,我做了一些关于这方面的侦探工作,并在我的常规PCL上点击了F12,看看它的声明组件。 事实certificate,我想要的大多数Windows运行时类型都存在于一个名为Windows.winmd程序集中,该程序集位于Program Files中。 我很想知道,有什么办法可以从.NET Core库中引用这个程序集吗? 谢谢! (请注意,我不能只使用常规PCL,因为我有特定于.NET Core的需求。) meta:顺便说一下,请不要从这个问题中删除asp.net-core标签,因为这与DNX有关。 编辑:我刚试过这个: “.NETPortable,Version=v4.6,Profile=Profile32”: […]

Windows 8应用程序 – MediaElement不播放“.wmv”文件

我的Win8应用程序中存在MediaElement的问题 – 当我尝试从本地库中播放一些“.wmv”文件时,它经常(并非总是)抛出MediaFailed并且我收到错误 MF_MEDIA_ENGINE_ERR_SRC_NOT_SUPPORTED:HRESULT – 0xC00D36C4 意思是 video编解码器或音频编解码器不受支持,或video文件中的一个流已损坏。 可能不支持此内容。 问题不是文件已损坏(我可以使用Windows Media Player播放它们)。 这是我用来设置MediaElement的代码: private async void Button_Click(object sender, RoutedEventArgs e) { var picker = new FileOpenPicker(); picker.FileTypeFilter.Add(“.wmv”); picker.FileTypeFilter.Add(“.mp4”); picker.SuggestedStartLocation = PickerLocationId.VideosLibrary; StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { using (IRandomAccessStream ras = await file.OpenAsync(FileAccessMode.Read)) { me.SetSource(ras, file.ContentType); } } } 有人知道这里有什么问题吗? 提前致谢。