【问题标题】:get subImage from image [closed]从图像中获取子图像[关闭]
【发布时间】:2018-03-07 11:47:45
【问题描述】:

我有以下图片,

从那我需要使用单独的图像,如下所示。

我不知道在这里可以使用哪种功能。
我不想只从 Photoshop 或类似的工具中裁剪该图像。我知道有一些方法可以实现这一点。但不知道如何获得子图像。 我很久以前就在某个地方搜索过,但现在找不到路。
你能帮我弄到这个吗。
我已经访问过here

【问题讨论】:

  • 已经访问过那里,博客链接已损坏,在那个答案代码中,图像被裁剪,我不想要
  • 没有意识到这一点。结束投票已撤回。
  • 没有裁剪的"get sub-image"是什么意思?您想遮盖图像,只显示其中的一部分吗?

标签: ios objective-c swift xcode


【解决方案1】:

斯威夫特 4

如果我理解正确,你会想要这样的:

[YOUR_FIRST_IMAGE]

let image = UIImage(named: "[YOUR_FIRST_IMAGE]")
let fromRect = CGRect(x:[OFFSET_HERE], y:0,width:[WIDTH_OF_EACH_ICON],height:[HEIGHT_OF_EACH_ICON])
let croppedImageFromRect = image?.cgImage!.cropping(to: fromRect)
let dottedCircleGreenImage = UIImage(cgImage: croppedImageFromRect!)

imageView.image = dottedCircleGreenImage

要从此集合中选择不同的子图像 ([YOUR_FIRST_IMAGE]),您必须将 x(在 CGRect 中)偏移为每个图标的宽度乘以您想要的图像位置减去 1。

例如选择第五个:。获取单个图标的宽度而不是乘以 5。

注意事项

以上示例中的imageView 是对视图中 UIImageView 的某种引用或引用形式。

强制解包变量不是一个好习惯,这只是示例。

【讨论】:

  • 是的,明白了。但因为我不想裁剪图像......如果没有其他方法,它仍然是一个好方法
  • 其他然后模仿滑动图像,它在它的超级视图中剪辑边界(就像 CSS 是如何做到的),没有其他选择(或者我的知识不够)。将 UIImageView 放在另一个视图中,让这个超级视图剪辑到边界,而不是 imageView。然后使用与答案中相同的逻辑来决定在超级视图中将 imageView 偏移多远。如果你愿意,我可以打一个例子。如果您问我,虽然不建议这样做,但这是一种 hacky 方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 2013-03-26
  • 2012-08-14
  • 1970-01-01
  • 2018-05-28
  • 1970-01-01
  • 2018-10-08
相关资源
最近更新 更多