小编Cla*_*sen的帖子

在WP7上将位图保存为PNG

我正在尝试将位图保存为我的隔离存储作为png文件.我在Codeplex上找到了一个名为ImageTools的库,人们一直在推荐这个库,但是当我尝试它并试图打开文件时它说它已经腐败了.谁知道我做错了什么?

private static void SaveImageToIsolatedStorageAsPng(BitmapImage bitmap, string fileName)
{
    //convert to memory stream
    MemoryStream memoryStream = new MemoryStream();
    WriteableBitmap writableBitmap = new WriteableBitmap(bitmap);
    writableBitmap.SaveJpeg(memoryStream, bitmap.PixelWidth, bitmap.PixelHeight, 0, 100);

    //encode memory stream as PNG
    ExtendedImage image = new ExtendedImage();
    image.SetSource(memoryStream);

    PngEncoder encoder = new PngEncoder();

    //Save to IsolatedStorage
    using (var store = IsolatedStorageFile.GetUserStoreForApplication())
    using (var writeStream = new IsolatedStorageFileStream(fileName, FileMode.Create, store))
    {
        encoder.Encode(image, writeStream);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# windows-phone-7

11
推荐指数
1
解决办法
8596
查看次数

@available 属性不适用于 XCTest 类或方法

我希望单元测试仅在给定版本的 iOS 或更高版本上运行,但该@available属性似乎根本不适用于 XCTest 方法:-(

例如,我根本无法使用@available关键字的任何变体来禁用测试。无论@available是在类或函数、用途unavailable或任何东西上定义,测试始终执行。例如...

// Still runs on iOS
@available(iOS, unavailable)
class SomeTests: XCTestCase {
    func testSomething() {
        print("operatingSystemVersion=\(ProcessInfo.processInfo.operatingSystemVersion)")
        XCTFail()
    }
}
Run Code Online (Sandbox Code Playgroud)
// Still runs on iOS
class SomeTests: XCTestCase {
    @available(iOS, unavailable)
    func testSomething() {
        print("operatingSystemVersion=\(ProcessInfo.processInfo.operatingSystemVersion)")
        XCTFail()
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用下面的方法实现我想要的,但这对于很多测试来说并不实用,容易出错,在运行时确定,并且测试方法仍然执行并显示为成功(事实并非如此)。

class SomeTests: XCTestCase {
    func testSomething() {
        if #available(iOS 10.0, *) {
           print("operatingSystemVersion=\(ProcessInfo.processInfo.operatingSystemVersion)")
           XCTFail()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为预处理器宏没有#if os(...)帮助,因为它不能进行版本检查。

有没有其他方法可以实现我想要的?我做错了什么@available(或者这可能只是一个错误)?

ios xctest swift

11
推荐指数
1
解决办法
776
查看次数

NSUserActivity切换不适用于自定义数据

我正试图在iPhone和iPad之间测试iOS 8.1切换功能和NSUserActivity.为此,我尝试了实现自己的解决方案,并使用Apple的PhotoHandoff项目.但是,它不起作用.

如果我提供了一个webpageURL,切换工作正常,但是当我尝试使用userData或者addUserInfoEntriesFromDictionary实在不行,我不能为我的生活出美中不足的是什么使数据的工作.

示例代码:

NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:@"com.company.MyTestApp.activity"];
activity.title = @"My Activity";
activity.userInfo = @ {};
//    activity.webpageURL = [NSURL URLWithString:@"http://google.com"];

self.userActivity = activity;

[self.userActivity becomeCurrent];
[self.userActivity addUserInfoEntriesFromDictionary:@ { @"nanananan": @[ @"totoro", @"monsters" ] }];
Run Code Online (Sandbox Code Playgroud)

(我也无法使用具有相应活动类型的Mac应用程序)

objective-c ios handoff ios8.1 nsuseractivity

10
推荐指数
1
解决办法
4190
查看次数

在Eclipse中输入提前自动完成

Eclipse有一个类似Visual Studio的类型提前自动完成的插件,所以我不必一直按Ctrl+ 来破坏我的空格键Space吗?(如果您不知道它在Visual Studio中的工作原理,请不要打扰回答.)

而且,我可以将自动完成限制为导入的包,而不是地球上的每个Java类吗?当我和GWT合作时,看到来自awt和swing等的建议很令人沮丧.而且我不想将每个Java类添加到过滤器中,这只是愚蠢的.(再次,就像在Visual Studio中完成它一样!)

eclipse visual-studio-2008 visual-studio

9
推荐指数
2
解决办法
7557
查看次数

WP7 Mango:如何删除实时图块?

我正在使用以下代码在设备上创建实时磁贴:

ShellTile tile = ShellTile.ActiveTiles.FirstOrDefault();
StandardTileData newTileData = new StandardTileData
{
    BackgroundImage = new Uri(string.Format("isostore:{0}", DefaultLiveTilePath), UriKind.Absolute),
    Title = "Test"
};
tile.Update(newTileData);
Run Code Online (Sandbox Code Playgroud)

稍后我想删除实时图块图像,并在固定时将其恢复为应用程序图标.这可能吗?

c# windows-phone-7 live-tile

9
推荐指数
1
解决办法
1950
查看次数

异步P/Invoke调用

我正在为机器人控制器创建一个包装库,它主要依赖于P/Invoke调用.

但是,机器人的许多功能(例如归位或移动)需要很长时间,并且在运行时执行线程锁定.

所以我想知道如何以异步方式包装功能,因此调用不会阻止我的UI线程.到目前为止我的想法是使用任务,但我不确定这是正确的方法.

public Task<bool> HomeAsync(Axis axis, CancellationToken token)
{
    return Task.Factory.StartNew(() => Home(axis), token);
}
Run Code Online (Sandbox Code Playgroud)

目前关于.NET中Async模型的大多数MSDN文章主要是在已经具有异步功能的库(例如File.BeginRead等)上进行转发.但我似乎无法找到有关如何实际编写异步功能的更多信息.

c#

8
推荐指数
2
解决办法
1485
查看次数

将TPL与现有异步API一起使用

我想将TPL与现有的API一起使用,RestSharp是特定的,所以我可以使用continuation.

但这意味着我必须将一个不采用传统.NET方法的API包装成异步,而是实现回调.拿这样的代码:

var client = new RestClient("service-url");
var request = new RestRequest();

client.ExecuteAsync<List<LiveTileWeatherResponse>>(request, 
    (response) =>
    {
        ...
    });
Run Code Online (Sandbox Code Playgroud)

所以我想在TPL中包装ExecuteAsync,如果可能的话.但我不能为我的生活,弄清楚如何做到这一点.

有任何想法吗?

c# task-parallel-library restsharp

8
推荐指数
1
解决办法
1232
查看次数

Google环聊桌面应用程序流程

我正在创建一个屏幕共享应用程序,它可以像Google Hangout Screen Shares一样工作,我想知道Google Talk插件(用于屏幕共享)如何产生子进程并使用动态端口范围.

我正在创建一个后台运行的应用程序,用户必须安装该应用程序,并与浏览器进行如下所述的对话,http://www.codeproject.com/Articles/36517/Communicating-from-the-Browser-to-a -桌面,应用程

但是,当我查看googleTalkPlugin,它负责谷歌聚会屏幕共享时,我看到有很多进程正在运行,每当我打开一个新浏览器时,该浏览器的新通话插件就会作为子服务启动.

这是一些快照

当我开始野生动物园

当我启动firefox

当我注意到googleTalkPlugin使用的端口时,我开始了解它的动态!如果您看到上面的链接,则浏览器桌面通信位于静态端口上.

我很有兴趣知道,我如何使用动态端口号?另外,我应该为每个浏览器创建子进程吗?还是更好的东西?

c networking screensharing hangout

8
推荐指数
1
解决办法
1206
查看次数

WebForms中的强类型容器

以下代码示例:(ASP.NET WebForms)

<asp:Content ContentPlaceHolderID="Contents" runat="server">
    <div class="blogpost-list">
        <asp:Repeater ID="blogList" runat="server">
            <ItemTemplate>
                <h2 class="blogpost-title">
                    <%# (Container.DataItem as BlogPost).Title %>
                </h2>
                <p class="blogpost-meta">
                </p>
                <p class="blogpost-content">
                    <%# (Container.DataItem as BlogPost).ParsedContent %>
                </p>
            </ItemTemplate>
        </asp:Repeater>
    </div>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

现在我想做的是避免DataItem的内容转换,即.这一行:

<%# (Container.DataItem as BlogPost).Title %>
Run Code Online (Sandbox Code Playgroud)

我对ASP.NET MVC感到鼓舞,并且想知道我是否可以创建一个强类型的视图,并将其定义为:

<%@ Page
    Language="C#" MasterPageFile="~/Blog.Master" 
    AutoEventWireup="true" CodeBehind="Default.aspx.cs" 
    Inherits="MyBlog.Default<MyStrongViewType>"
%>
Run Code Online (Sandbox Code Playgroud)

或者任何其他避免类型转换的方法,并且通常具有ASP.NET WebForms的强类型视图.

有什么好主意吗?

asp.net webforms

7
推荐指数
2
解决办法
1881
查看次数

是否保证在创建对象的同一线程上调用dealloc?

dealloc保证创建一个在同一线程上被称为NSObject实例?例如,如果我调用[[MyFluffyBunny alloc] init]主线程,dealloc保证也可以在主线程上调用,或者可以在任何线程上调用一次MyFluffyBunny不再保留?

我看到我的应用程序中的零星崩溃表明它无法保证,但我一直无法找到任何确认它的文档.

objective-c

7
推荐指数
1
解决办法
1419
查看次数