gpt4 book ai didi

iphone - 是否可以在 UIScrollView 中平铺图像而无需手动创建所有平铺?

转载 作者:太空狗 更新时间:2023-10-30 03:18:57 25 4
gpt4 key购买 nike

在 WWDC 2010 的 iPhone 示例代码“PhotoScroller”中,他们展示了如何通过图像的滚动、缩放和分页来很好地模拟照片应用程序。他们还平铺图像以展示如​​何显示高分辨率图像并保持良好的性能。

示例代码中的平铺是通过抓取不同分辨率的预缩放和剪切图像并将它们放置在构成整个图像的网格中实现的。

我的问题是:有没有一种方法可以平铺图像而无需手动浏览所有照片并创建“平铺”?照片应用程序如何能够即时显示大图像?

编辑以下是 Deepa 的回答中的代码:

- (UIImage *)tileForScale:(float)scale row:(int)row col:(int)col size:(CGSize)tileSize  image:(UIImage *)inImage
{
CGRect subRect = CGRectMake(col*tileSize.width, row * tileSize.height, tileSize.width, tileSize.height);
CGImageRef tiledImage = CGImageCreateWithImageInRect([inImage CGImage], subRect);
UIImage *tileImage = [UIImage imageWithCGImage:tiledImage];
return tileImage;
}

最佳答案

下面是生成平铺图像的代码:

在 PhotoScroller 源代码中,将 tileForScale: row:col: 替换为以下内容:

inImage - 您要创建图 block 的图像

- (UIImage *)tileForScale: (float)scale row: (int)row column: (int)col size: (CGSize)tileSize image: (UIImage*)inImage
{
CGRect subRect = CGRectMake(col*tileSize.width, row * tileSize.height, tileSize.width, tileSize.height);
CGImageRef tiledImage = CGImageCreateWithImageInRect([inImage CGImage], subRect);
UIImage *tileImage = [UIImage imageWithCGImage: tiledImage];
return tileImage;
}

问候,迪帕

关于iphone - 是否可以在 UIScrollView 中平铺图像而无需手动创建所有平铺?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3337870/

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