【问题标题】:UIImage strechable image to generate message bubble-like resultUIImage 可拉伸图像以生成消息气泡状结果
【发布时间】:2023-03-21 14:23:01
【问题描述】:

我正在尝试实现一个类似于对话框气泡的可拉伸图像,但是我没有做对,

使用以下代码:

UIImage *ballon = [[UIImage imageNamed:@"strech.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(12, 11, 12, 9)];

我得到以下结果:

这是我原来的leftBubble.png

我可能做错了什么?

【问题讨论】:

    标签: ios uiimage


    【解决方案1】:

    您不应该在整个图像上使用渐变。这就是线条的来源。图片的中心(被拉伸的部分必须是纯色,因为它会重复,不仅水平,而且垂直。

    如果您只是水平拉伸图像,您的图像可能工作得很好。

    试试我为你制作的这张图片,并使用一些不同的 capInsets:

    UIImage *ballon = [[UIImage imageNamed:@"strech.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(12, 20, 22, 12)];
    

    请注意,我所有的造型都发生在气泡的边缘,而中心是实心的。

    编辑:

    这是图片的较小版本。我做了一个更大的,这样你就可以看到我在做什么。

    【讨论】:

      【解决方案2】:

      我无法评论 jhilgert00 的回答,但我想补充一点:-[UIImage resizableImageWithCapInsets:]tiles 内部像素,而不是 拉伸,这就是为什么正如 jhilgert00 所说,渐变不起作用。

      如果您使用的是 iOS 6.0 或更高版本,您可以使用-[UIImage resizableImageWithCapInsets:capInsets resizingMode:UIImageResizingModeStretch]

      来自http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImage_Class/Reference/Reference.html

      -(UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets

      [The]像素区域在每个方向没有被帽子覆盖,平铺, 从左到右和从上到下,调整图像大小。

      -(UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode

      如果您特别希望使用 UIImageResizingModeStretch 调整大小模式调整图像大小,则应仅调用此方法代替其对应方法。

      【讨论】:

        猜你喜欢
        • 2017-05-20
        • 2013-07-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-03
        • 1970-01-01
        相关资源
        最近更新 更多