标签: uiimage

在UIScrollView问题中裁剪缩放图像

完成此链接后,我的代码问题是输出图像无法设置正确的x和y值,因为裁剪后的图像似乎在结果图像中有0和0,无论我在哪里缩放(或计算滚动偏移的位置) .这是我尝试过的.

- (IBAction)crop:(id)sender
{

    float zoomScale = 1.0f / [self.scroll zoomScale];

    CGRect rect;
    NSLog(@"contentOffset is :%f,%f",[self.scroll contentOffset].x,[self.scroll contentOffset].y);
    rect.origin.x = self.scroll.contentOffset.x * zoomScale;
    rect.origin.y = self.scroll.contentOffset.y * zoomScale;
    rect.size.width = self.scroll.bounds.size.width * zoomScale;
    rect.size.height = self.scroll.bounds.size.height * zoomScale;

    UIGraphicsBeginImageContextWithOptions( CGSizeMake(rect.size.width, rect.size.height),
                                           NO,
                                           0.);

    NSLog(@"rect offset is :%f,%f",rect.origin.x,rect.origin.y);
    CGPoint point = CGPointMake(-rect.origin.x, -rect.origin.y); **//even though above NSLog have some values, but output image is unable to set proper x and y values as cropped image seems to have …
Run Code Online (Sandbox Code Playgroud)

zoom objective-c uiscrollview uiimage ios

0
推荐指数
1
解决办法
3013
查看次数

如何从iOS中的文件系统路径访问图像对象

我有一个Phonegap应用程序,可以保存用户从相机到设备文件系统的图像.我希望能够在iOS/Objective C中访问此图像对象,但似乎无法弄清楚如何以及没有找到解决问题的任何解释.

我能够看到文件的路径(类似于"file:///var/mobile/Containers/Data/Application/XXXX-XX-XXXXX/Documents/tempImg.jpg"),并且可以正确显示该图像将HTML img src设置为此位置,但是当我尝试使用本机代码访问图像对象时,某些功能无效.我尝试过使用下面的代码

[UIImage imageWithContentsOfFile:imgName]
Run Code Online (Sandbox Code Playgroud)

其中imgName是上面引号中的路径,但它不起作用.我应该做别的吗?

我已经检查了所有Stack Overflow的答案,我可以找到如下面的链接,但没有任何工作

在iOS中加载已保存的图像

感谢任何帮助!

uiimage ios phonegap-plugins cordova

0
推荐指数
1
解决办法
1430
查看次数

Swift:UIImage - 找不到接受提供的参数的'init'的重载

下面是我用来构建图像数组的代码

var _displayImage : Array<UIImage>!

required init(coder aDecoder: NSCoder) {
    self._displayImage = []
}

func buildImageSet() {
    self._displayImage = [UIImage(named: "image1"), UIImage(named: "image2"), UIImage(named: "image3"), UIImage(named: "image4"), UIImage(named: "image5")]
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:找不到接受提供的参数的'init'的重载

在此输入图像描述

我究竟做错了什么?

uiimage swift ios8

0
推荐指数
1
解决办法
285
查看次数

将UIImage转换为PFFile会产生巨大的文件

我想将图像上传到解析服务器.A PFFile最多只能是10mb,所以我写了一个类别来检查UIImagebytesize是否超过了.

这是我的类别中的代码:

- (UIImage *)scaleImageToSize:(CGFloat)destSize{
    UIImage *img = self;
    NSData *imgData = UIImageJPEGRepresentation(img, 1.0);
    NSLog(@"size: %lu", (unsigned long)[imgData length]);
    while ([imgData length] > destSize) {
        UIImageJPEGRepresentation(img, 0.9);
        NSLog(@"new size: %lu",(unsigned long)[imgData length]);
    }

    return img;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我打电话[image scaleImageToSize:10485760];.它的大部分时间都小于此.

但是,在运行以下行之后:

photoFile = [PFFile fileWithData:UIImagePNGRepresentation(image)];
Run Code Online (Sandbox Code Playgroud)

[photoFile fileSize]suddently超过10485760.怎么可能?我怎样才能防止照片变得太大PFFile

objective-c uiimage ios parse-platform

0
推荐指数
1
解决办法
2541
查看次数

将图像和标题添加到UIsegmentControl IOS

有没有办法可以同时设置图像和标题UISegmentControl,这样图像就会出现在标题旁边,就像图像出现在标题旁边一样UIButton.

我正在尝试,但如果我设置选定片段的图像UISegmentControl然后标题消失,如果我设置选定片段的标题UISegmentControl然后图像消失,我想一次设置两个.

title uisegmentedcontrol uiimage ios

0
推荐指数
1
解决办法
1275
查看次数

无法将类型[UIImage]的值分配给类型“ UIImage”的值?

我在结构内部创建了一个UIimages数组。现在我试图显示图像,我得到这个错误:

无法将类型[UIImage]的值分配给类型'UIImage的值?

在此处输入图片说明

“ primeiraImagem.image”是一个插座。结构如下: 在此处输入图片说明

我被困在这里,但我无法解决= /

谢谢 :)

uiimageview uiimage ios swift

0
推荐指数
1
解决办法
3891
查看次数

使用添加的属性创建UIImage的子类

我正在尝试使用添加的属性创建UIImage的子类,但是当我创建一个方便的init时,我无法调用UIImage的指定init init(命名为name:String),因为由于某种原因它不会被继承.

class myUIImage: UIImage {
    var imageType$: String?
    convenience init(imageName$ imageName$: String) {
        self.init(...?)
        self.imageType$ = // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

inheritance initializer uiimage swift

0
推荐指数
1
解决办法
3030
查看次数

如何创建一个自己舍入的UIImageView扩展

我最近遇到了一个恼人的问题.

假设我想在我的应用程序中的多个位置使用图像,并且在任何地方都必须将其舍入为圆形.因为我想我的代码是干净的,我认为这个功能(舍入本身)应放在内部延伸的UIImageView类.我创建了一个简单的类来覆盖storyboard构造函数,并负责正确设置cornerRadius:

class RoundedImageView: UIImageView {


    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.layer.cornerRadius = self.frame.size.width/2
        self.layer.borderColor = UIColor.redColor().CGColor
        self.layer.borderWidth = 2
        self.layer.masksToBounds = true
    }
}
Run Code Online (Sandbox Code Playgroud)

对于喜欢的约束

  • 宽度:100,
  • 身高:100

    这显然有效,因为在调用构造函数后框架不会更改(因为它在storyboard中具有正确的尺寸).例如,当约束看起来像这样时,就会出现问题:

  • 宽度等于0.5 superview的

  • 纵横比:1:1

因为在调用构造函数后框架会发生变化.

我最终做的是这样的:

override func viewDidLayoutSubviews(){
    super.viewDidLayoutSubviews()
    myRoundedImageInstance.layer.cornerRadius = ...
}
Run Code Online (Sandbox Code Playgroud)

在每个视图控制器中都有这个类的实例......这是有效的,因为在imageView改变维度之后重新计算框架,但这很难看,在这种情况下似乎没有类的存在.

我尝试将frame的重新计算放在drawRect中 - 也不起作用.有任何想法吗?

uiimage ios swift

0
推荐指数
1
解决办法
1130
查看次数

使用Swift中的UIScrollView从用户的触摸点放大图像

下面的Swift代码管理放大和缩小UIImage内部a UIScrollView.

双击时,图像放大到中心并缩小到中心.

题:

需要进行哪些代码更改才能将放大点设置为用户在屏幕上触摸的图像区域的中心?

(例如,如果用户双击图像的左上角,图像将相应地放大图像的左上角.)

class ScrollViewController: UIViewController, UIScrollViewDelegate {
    var scrollView: UIScrollView!
    var imageView: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()

        imageView = UIImageView(image: UIImage(named: "image.png"))

        scrollView = UIScrollView(frame: view.bounds)
        scrollView.backgroundColor = UIColor.blackColor()
        scrollView.contentSize = imageView.bounds.size
        scrollView.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight]

        scrollView.contentOffset = CGPoint(x: 1000, y: 450)

        scrollView.addSubview(imageView)
        view.addSubview(scrollView)

        scrollView.delegate = self
        setZoomScale()
        setupGestureRecognizer()
    }

    func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
        return imageView
    }

    override func viewWillLayoutSubviews() {
        setZoomScale()
    }

    func setZoomScale() {
        let imageViewSize = imageView.bounds.size …
Run Code Online (Sandbox Code Playgroud)

optimization uiscrollview uiimage ios swift

0
推荐指数
1
解决办法
3301
查看次数

使用Simple Blob Detector时,名称空间'cv :: detail'stitching.hpp中没有名为'Blender'的成员

我正在尝试使用Swift的Simple Blog Detector和适用于iOS的OpenCV Objective C++包装器和OpenCV 3.1.0.但是,我收到了几个错误.我不理解他们,因为他们暗示我正在使用stitching.hpp,但我不是.有什么建议?我无法弄清楚为什么它会调用stitching.hpp搅拌器和曝光补偿.

错误是:在名称空间'cv :: detail'suting.hpp中没有名为'ExposureCompensator'的成员和:名称空间'cv :: detail'中没有名为'Blender'的成员'stitching.hpp

标题添加到开头,因为我最初从宏中的预期标识符'否'获得解析问题.通过添加这些标头,我删除了源文件中建议的解析问题,但这导致了如上所述的新错误.

#ifndef OPENCV_STITCHING_BLENDERS_HPP
#define OPENCV_STITCHING_BLENDERS_HPP

#if defined(NO)
#warning Detected Apple 'NO' macro definition, it can cause build conflicts. Please, include this header before any Apple headers.
#endif

#ifndef OPENCV_STITCHING_EXPOSURE_COMPENSATE_HPP
#define OPENCV_STITCHING_EXPOSURE_COMPENSATE_HPP

#if defined(NO)
#warning Detected Apple 'NO' macro definition, it can cause build conflicts. Please, include this header before any Apple headers.
#endif

#import "OpenWrapper.h"
#import <opencv2/opencv.hpp>
#import <opencv2/core/core.hpp>
#import <opencv2/imgcodecs/ios.h>
#import <opencv2/imgproc.hpp>

using namespace std;
using namespace cv; …
Run Code Online (Sandbox Code Playgroud)

c++ opencv objective-c uiimage ios

0
推荐指数
1
解决办法
1143
查看次数