gpt4 book ai didi

c# - 如何在构建 UIImageView 时创建图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:30 25 4
gpt4 key购买 nike

我有一个自定义的 UIImageView,当它构造时,我想在内存中创建一个或缓存到 iDevice Image,它是一个特定颜色的填充矩形,然后将它设置为 UIImageView 的 Image 属性。

我知道如何通过覆盖 Draw 方法在 UIImage 上绘制它,它只会在当前的 CGContext 上绘制。但是,由于我想在构建 UIImageView 时执行此操作,因此我实际上没有可以绘制的上下文或任何内容,因为它尚不可见。

简而言之,我想知道当应用程序在屏幕上显示任何内容之前启动时,是否有一种方法可以在构建自定义 UIImageView 时以编程方式执行此操作。

我接受 C# 或 Objective-C 的答案。

最佳答案

好吧,我可以帮助您了解 UIKit/Objective-C 方法。至于.NET,我没有最模糊的东西。 UIKit 有一些有用的函数用于以编程方式生成 UIImages。您需要执行以下操作:

- (UIImage*)generateImage {

UIGraphicsBeginImageContext(someCGSize);
CGContextRef ctx = UIGraphicsGetCurrentContext();

// Draw whatever you want here with ctx, just like an overridden drawRect.

UIImage* generatedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return generatedImage;
}

只要确保从主线程调用这样的方法即可。这是我能想到的唯一警告。

[编辑] C#/MonoTouch 版本是:

UIImage GenerateImage ()
{
UIGraphics.BeginImageContext (new RectangleF (0, 0, 100, 100));
var ctx = UIGraphics.GetCurrentContext ();

// Draw into the ctx anything you want.
var image = UIGraphics.GetImageFromCurrentImageContext ();
UIGraphics.EndImageContext ();
return image;
}

关于c# - 如何在构建 UIImageView 时创建图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5613808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com