- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个从 S3 存储桶下载大量图片的应用程序。下载它们后,我会使用以下代码平铺它们。
- (void)saveTilesOfSize:(CGSize)size
forImage:(UIImage*)image
toDirectory:(NSString*)directoryPath
usingPrefix:(NSString*)prefix
{
CGFloat cols = [image size].width / size.width;
CGFloat rows = [image size].height / size.height;
NSLog(@"cols: %f rows: %f", cols, rows);
int fullColumns = floorf(cols);
int fullRows = floorf(rows);
CGFloat remainderWidth = [image size].width -
(fullColumns * size.width);
CGFloat remainderHeight = [image size].height -
(fullRows * size.height);
if (cols > fullColumns) fullColumns++;
if (rows > fullRows) fullRows++;
CGImageRef fullImage = [image CGImage];
int tilecount = 0;
for (int y = 0; y < fullRows; ++y) {
for (int x = 0; x < fullColumns; ++x) {
tilecount++;
CGSize tileSize = size;
if (x + 1 == fullColumns && remainderWidth > 0) {
// Last column
tileSize.width = remainderWidth;
}
if (y + 1 == fullRows && remainderHeight > 0) {
// Last row
tileSize.height = remainderHeight;
}
CGImageRef tileImage = CGImageCreateWithImageInRect(fullImage,
(CGRect){{x*size.width, y*size.height},
tileSize});
NSData *imageData = UIImagePNGRepresentation([UIImage imageWithCGImage:tileImage]);
NSString *path = [NSString stringWithFormat:@"%@/%@%d_%d.png",
directoryPath, prefix, x, y];
[imageData writeToFile:path atomically:NO];
float prg = tilecount/200.0;
[self performSelectorOnMainThread:@selector(setTileProgress:) withObject:[[NSNumber alloc] initWithFloat:prg] waitUntilDone:NO];
}
}
[self performSelectorOnMainThread:@selector(setTileProgress:) withObject:[[NSNumber alloc] initWithFloat:100.0] waitUntilDone:NO];
}
这可以很好地生成最大缩放图 block ,但我还需要生成缩放图 block 。我想我可以采用 UIImage 并像下面的代码一样缩放它,然后简单地将缩放后的图像连同缩放参数一起传递给修改后的 saveTilesOfSize 方法以生成其他缩放图像(500、250、125)。
UIImage *scaledImage = [UIImage imageWithCGImage:[originalImage CGImage] scale:0.125 orientation:UIImageOrientationUp];
这会如我所愿吗?
最佳答案
是的,那没有用。 initWithCGImage:scale:orientation 仅更改 size 属性报告的大小,它不会对图像进行任何实际缩放。
我最终选择了这条路线:
http://iosdevelopertips.com/graphics/how-to-scale-an-image-using-an-objective-c-category.html
像魅力一样工作。
有状态
关于ios - 以编程方式为 PhotoScroller 平铺图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8608907/
我一直在尝试用代码完全复制 Apple 的 PhotoScroller 示例应用程序,但到目前为止还没有成功。即使我将 PhotoViewController、ImageScrollView 和 Ti
Apple 有一个名为 PhotoScroller 的 iOS 示例应用程序,它演示了 CATiledLayer 和 UIScrollViewer。示例应用在每个图 block 周围显示白色框,作为说
我有一个从 S3 存储桶下载大量图片的应用程序。下载它们后,我会使用以下代码平铺它们。 - (void)saveTilesOfSize:(CGSize)size forI
我一直在查看 Apple 提供的 Photoscroller 应用程序中包含的代码和 .xib 文件。通过所有这些和一些互联网搜索,我无法找到控制图像是 1 倍还是 2 倍缩放的按钮在代码中的位置,也
我一直在尝试制作自己的照片滚动器,以便用户可以查看他们所有不同的产品并通过滑动切换到另一张照片,但我很难添加自己的照片, 这个例子:http://developer.apple.com/library
我已经从苹果开发者库下载了示例代码,我一直在尝试更改示例代码以显示没有图 block 的图像。 我遇到了困难,我尝试了所有方法,但屏幕总是空白,或者显示为黑色并带有瓷砖线条。 并且我已经将数据从 im
我在我的应用程序中使用来自 PhotoScroller 的更改示例代码。我有一个图像缩略图的表格 View ,我可以将填充该表格的图像数组传递给 PhotoViewController。目前,Phot
Apple 在 WWDC 2010 上发布了许多很棒的教程。所以,我想学习 PhotoScroller,其中之一包括具有缩放功能的照片滚动。但是大部分代码都在 Objc 中。所以,我有什么办法可以在
我正在学习WWDC session #104 for mastering UIScrollViews。我需要创建一个脚本或找到一个工具或编写一个脚本来从一些大的 jpg 照片生成 CATiledLay
我正在查看 iPhone WWDC 2010 - 104 PhotoScroller 应用程序的示例代码。它与我的项目相关图像(PDF 页面图像)配合得很好 但我很难在 PhotoScroller 应
我是一名优秀的程序员,十分优秀!