标签: uiimage

如何更改UIImage的颜色

我不想改变UIImage的backgroundColor,
而是改变整个图像的颜色.

因为我有标准表格,我可以从popover移动到视图.
在我的应用程序中,可以将图像修改为一个大图像,即一个表格.
此外,我想将颜色改为白褐色或其他什么.

但问题是:我只能改变backgroundColor
有没有办法改变UIImage的颜色?

先感谢您

uiimage uicolor ios

44
推荐指数
4
解决办法
5万
查看次数

在iOS设备上本地存储图像

一些iOS照片相关应用程序存储使用应用程序创建的图像,而不是照片库.例如,Fat Booth显示了在应用启动时使用该应用创建的滚动列表.请注意,这些照片会在用户明确将其保存到照片库时保留.在iOS应用程序中保存和保存图像的最简单方法是什么?

我熟悉的唯一持久存储是NSUserDefaults和密钥链.但是我从来没有听说过这些用来存储大量数据,比如图像.现在我想知道核心数据是否是最简单的方法.

objective-c uiimageview uiimage nsfilemanager ios

43
推荐指数
3
解决办法
4万
查看次数

如何在iPhone应用程序中的UINavigationBar中添加图像

在我的应用程序中,我想在导航栏中添加图像(徽标).我正在研究XCode 4.2和iOS 5.

我知道UINavigationBar,UIToolBar在iOS 5中已经改变了.所以iOS 4.2 UINavigationBar代码在iOS 5中不起作用.

我想UINavigationBar在4.2和5版本中支持显示图像.

我想像UINavigationBar下面的截图一样显示图像.

导航栏图像

请帮忙解决这个问题,如果有任何示例代码意味着它对我很有帮助.

谢谢!!!

iphone objective-c uinavigationbar uiimage uinavigationcontroller

42
推荐指数
3
解决办法
3万
查看次数

定义UIImage将使用的文件(Swift)

所以我浏览了苹果网站上的开发者库,我找不到任何文档说明如何使用swift语言来说明用于UIImage的文件(如png).所以我尝试使用这段代码:

class ViewController: UIViewController {

@IBOutlet var maintitle: UIImageView

var bigtitle: UIImage!
var smalltitle: UIImage!


override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib. 

    func startAnimating(){
        var animatedtitle: AnyObject[] = [bigtitle, smalltitle]
        var animationDuration: NSTimeInterval = 0.15
        var animationRepeatCount: Int = 0
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图在那里做的是动画一个永无止境的两个图像系列.我定义了两个UIImages(bigtitle和小标题),并想知道如何定义用于那些UIImage的wat .png.我知道这是一个非常基本和新手的问题,但任何帮助都会被享受.

uiimage ios swift

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

在CALayer中添加UIImage

我必须添加一个UIImageView作为MapView的子视图.为此,我在MapView上创建了一个图层.在这一层,我想放置我的图像,但我得到一个白色的矩形,没有别的.我的图片不可见.

这是代码:

- (void)viewDidLoad
{
    //......

    CALayer *layer = [CALayer layer];
    layer.backgroundColor = [[UIColor whiteColor] CGColor];

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    {
        layer.bounds = CGRectMake(self.mapView.bounds.origin.x,
                                  self.mapView.bounds.origin.y, 80, 300);
    }
    else
    {
        layer.bounds = CGRectMake(self.mapView.frame.origin.x,
                                  self.mapView.frame.origin.y, 150, 700);
    }

    layer.contents = (id)[UIImage imageNamed:@"myImage.png"];
    //the name is correct but  in the output the image is not visible

    [[self.mapView layer] addSublayer:layer];
    [layer setNeedsDisplay];
}
Run Code Online (Sandbox Code Playgroud)

subview calayer uiimageview uiimage ios

40
推荐指数
3
解决办法
4万
查看次数

创建一条水平线

我有两个堆叠的标签.如果我想在它们之间使用水平线,除了使用带有UIImageView的图像之外还有其他方法吗?

iphone cocoa-touch uiimageview uiimage

39
推荐指数
4
解决办法
3万
查看次数

有没有办法清除UIImage类使用的缓存?

众所周知,当使用该imageNamed:方法加载图像时,UIImage缓存其图像数据.

来自Apple文档:https: //developer.apple.com/documentation/uikit/uiimage/1624146-imagenamed

imageNamed:

讨论:此方法在系统缓存中查找具有指定名称的图像对象,并返回该对象(如果存在).如果匹配的图像对象是不是已经在高速缓存中,这种方法加载从指定的文件中的图像数据,缓存 ,然后返回生成的对象.

因此,在加载了几个图像后,imageNamed:我注意到内存使用量的大量增加,并且即使在加载图像的控制器被释放后,内存仍然保持使用.(当我分配相同的控制器时,至少它没有再增加)

这让我想知道是否有任何方法可以在我的应用程序生命周期的任何给定时间以编程方式清除UIImage使用的缓存,甚至可以控制一些缓存参数(例如,它可以使用的最大内存)

我知道,我可以很容易地通过解决这个问题initWithData,imageWithData,imageWithContentsOfFile或其他任何初始化代替imageNamed,但这种缓存行为,并使用几种图像时,如内部所需UITableView.

有关如何实现这一点的任何想法?

编辑:经过一些答案后,我只想说清楚,需要做某事和有可能做某事之间存在巨大差距.正如我所指出的,我知道操作系统会为我处理缓存,我只是想看看iOS SDK带来的限制.

caching objective-c uiimage ios

39
推荐指数
2
解决办法
2万
查看次数

如何裁剪UIImage?

我开发了一个应用程序,我使用其像素处理图像,但在图像处理中需要花费很多时间.因此我想裁剪UIImage(只有图像的中间部分,即删除/裁剪图像的边界部分).我有开发代码,

- (NSInteger) processImage1: (UIImage*) image
{

 CGFloat width = image.size.width;
 CGFloat height = image.size.height;
 struct pixel* pixels = (struct pixel*) calloc(1, image.size.width * image.size.height * sizeof(struct pixel));
 if (pixels != nil)
 {
  // Create a new bitmap
  CGContextRef context = CGBitmapContextCreate(
              (void*) pixels,
              image.size.width,
              image.size.height,
              8,
              image.size.width * 4,
              CGImageGetColorSpace(image.CGImage),
              kCGImageAlphaPremultipliedLast
              );
  if (context != NULL)
  {
   // Draw the image in the bitmap
   CGContextDrawImage(context, CGRectMake(0.0f, 0.0f, image.size.width, image.size.height), image.CGImage);
   NSUInteger numberOfPixels = image.size.width * image.size.height;

   NSMutableArray *numberOfPixelsArray = …
Run Code Online (Sandbox Code Playgroud)

iphone uiimage

38
推荐指数
2
解决办法
4万
查看次数

iOS:保存为PNG表示数据后,图像旋转90度

我已经研究了足够的工作,但无法修复它.只要我将图像存储为UIImage,从相机拍照后,它就可以了,但只要我将此图像存储为PNG表示,它就会旋转90度.

以下是我的代码和我尝试过的所有事情:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{
    NSString *mediaType = [info valueForKey:UIImagePickerControllerMediaType];

    if([mediaType isEqualToString:(NSString*)kUTTypeImage]) 
    {
        AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
        delegate.originalPhoto  = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
        NSLog(@"Saving photo");
        [self saveImage];
        NSLog(@"Fixing orientation");
        delegate.fixOrientationPhoto  = [self fixOrientation:[UIImage imageWithContentsOfFile:[delegate filePath:imageName]]];      
        NSLog(@"Scaling photo");
        delegate.scaledAndRotatedPhoto  =  [self scaleAndRotateImage:[UIImage imageWithContentsOfFile:[delegate filePath:imageName]]];
    }
    [picker dismissModalViewControllerAnimated:YES];
    [picker release];
}


- (void)saveImage
{
    AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    NSData *imageData = UIImagePNGRepresentation(delegate.originalPhoto);
    [imageData writeToFile:[delegate filePath:imageName] atomically:YES];
}
Run Code Online (Sandbox Code Playgroud)

这里分别从这里这里取得fixOrientation和scaleAndRotateImage函数.当我在UIImage上应用它们时,它们工作正常并旋转图像,但如果我将图像保存为PNG表示并应用它们则不起作用.

请执行以上功能后请参考以下图片:

第一张照片是原始的,第二张是保存的,第三张和第四张是在保存的图像上应用fixorientation和scaleandrotate功能后

iphone image-rotation uiimage landscape-portrait ios5.1

38
推荐指数
4
解决办法
4万
查看次数

如何更改图像tintColor

我从服务器接收图像,然后根据用户选择的颜色,图像颜色将被更改.

我尝试了以下方法:

_sketchImageView.image = [_sketchImageView.image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
[_sketchImageView setTintColor:color];
Run Code Online (Sandbox Code Playgroud)

我得到了与我的目标相反的东西(UIImage外面的白色用所选颜色着色).

出了什么问题?

我需要在这个问题上做同样的事情,提供的解决方案并不能解决我的问题. 如何在iOS和WatchKit中更改图像tintColor

objective-c uiimage uicolor tintcolor ios

38
推荐指数
5
解决办法
4万
查看次数