问题标签 [catiledlayer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 使用 CATiledLayer,渲染时 Tiles 之间的细线,使用 ImageMagick 生成的瓷砖
使用 Apple 和 ImageMagick 的 PhotoScroller 示例,我设法构建了我的目录应用程序。
但我有一个渲染错误。平铺图像以它们之间的细线呈现。
我使用 ImageMagick 的简单脚本是这样的:
苹果的代码是一样的。奇怪的是,他们提供的已经平铺的图像就像一个魅力,在相同的运行时间,与我的图像并排:(
我的第一个猜测是图块的大小与代码的计算不匹配,但是更改大小并没有解决,无论是在我的脚本还是在代码中。我的图像通常比苹果提供的图像小,实际上是一半大小。
有人遇到同样的问题吗?
iphone - 从头开始的 UIScrollView 和 CATiledLayer
我的情况:我创建了一个带有 UIView 的 UIScrollView,其中调用了一个 Graph 类,该类在上下文中绘制了一个漂亮的图形。现在我发现如果 UIView 的宽度大于 8192 像素,手机就不会呈现 UIView。事实上,根据 Apple 的文档,如果我希望它大于 1024px,我应该实现 CATiledLayer。
但是在阅读和谷歌搜索了很多之后,我仍然发现很难理解 CATiledLayer 的基础知识来完成这项任务——我不知何故迷失在 Quartz 与 Cocoa 以及层和子层与视图和子视图之间。
理想情况下,我希望保持 Graph 类不受影响,只需完全绘制上下文,将其拆分为图块并滚动它们。滚动视图应该只是水平滚动,不需要缩放或垂直滚动。那可能吗?如果是这样,我应该如何继续?也许有人可以给我一个大纲,只是一些要点或伪代码,我应该如何重组滚动视图、uiview 和图形类以使用平铺。
非常感谢您的任何回复。
ios - 无法在 MonoTouch 中设置 CATiledLayer.FadeDuration
我正在尝试从CATiledLayer
.
根据此关闭的错误报告,设置CATiledLayer.FadeDuration
静态属性不起作用也不应该这样做:https ://bugzilla.novell.com/show_bug.cgi?id=648993
Objective-C 中建议的解决方案是子类化CATiledLayer
:How to change iphone CATiledLayer fadeDuration? . 我已经在 MonoTouch 中实现了这一点,但视图中没有绘制任何内容,尽管DrawInContext
按预期调用。
重现该问题的完整代码如下。一旦我删除[Export("fadeDuration")]
一切正常(但有动画)。
提前感谢您的帮助。
iphone - 如何使用 CATiledLayer 处理下载的图像
新年快乐,
我正在编写一个应用程序,用户在其中在线搜索高分辨率图像,然后下载这些大图像。我需要在 UIScrollView 中显示这些。
在 Apple 开发网站上,我在 UIScrollViews 上找到了 WWDC 2010 Session 104,它解释了如何使用 CATiledLayer 和手动创建的一组不同缩放级别的图块。
有没有办法从下载的高分辨率图像文件中以编程方式生成图块?
有什么建议吗?
谢谢
iphone - CATiledLayer 获得不正确的帧和 contextCTM.a 值 (zoomScale)
UIScrollView
在 WWDC2010 Session 104 之后,我刚刚在10000 x 8078 px 图像中创建了一个 CATiledLayer 。
我对框架和zoomScale
视图首次显示在其顶层感到困扰
- 就像在会话 104 中我定义
levelsOfDetail
为 4 - 在我的 drawRect 我打电话
CGFloat lScale = CGContextGetCTM(lContext).a;
奇怪的是,在运行时 lScale 被分配了 0.124907158,而不是预期的 0.125。
以及rect
传递给drawRect
具有浮点值,例如
- rect.origin.x = 4099.04443
- rect.origin.y = 6144
- rect.size.width = 2049.52222
- rect.size.height = 2048
CATiledLayer
对我来说最烦人的是,即使我initWithFrame
使用 0x0 原点创建了 tiledImageView ,框架的原点也显示为 0 x 26.93。
有什么想法可以找到对此负责的计算吗?
编辑: 我找到了奇怪框架位置的来源,即 ScrollView 边界被错误地设置为 450 像素。那应该是 420 像素。UIScrollView 中的 layoutSubview 例程有一个中心视图例程,它无意中调整了 y 坐标。
iphone - 如何使用 CATiledLayer 确定正确的 UIScrollView zoomScale
我为 10000x8078 图像创建了UIScrollView
一个CATiledLayer
。
我会不会将此图像放在UIView
总是zoomScale
根据contentSize
(分别是图像的大小)更新的图像中。
现在根据使用的瓷砖而有所不同CATiledLayer
。contentSize
我现在如何确定正确zoomScale
的UISrcollView
?
谢谢
iphone - 如何使用快速显示的大图像(如 Photos.app)制作 UIScrollView?
我正在尝试制作一个简单的图像查看器来查看 ALAssetRepresentation 的全分辨率图像。事实证明,事情并没有那么简单。
我的第一种方法是在 UIScrollView 中制作一个大的 UIImageView。虽然这确实有效,但速度非常慢。
使用照片应用程序时,当您触摸图像时,较大的版本会立即打开。起初,正在绘制一个非常低分辨率的图像。但很快,出现了更高分辨率的图像。另外,如果我放大,图像首先是较低的分辨率,然后分辨率会增加。
我查看了 WWDC 2010 主题演讲 #104,其中描述了 Photos.app 的工作原理。但是我应该如何实现呢?在主题演讲中,演示使用了预先平铺的图像,这是我无法从 ALAssetRepresentation 中获得的。我试过只加载全分辨率版本并使用 CATiledLayer 绘制它,虽然缩放等并不慢,但绘制瓷砖时太慢了。
Photos.app 是否在某处缓存所有图像的低分辨率版本或发生了什么?一些关于做什么的指示会很有帮助。
iphone - 分割一个 CGImage
在 iOS 4.0 及更高版本中,有没有办法在不将整个图像加载到内存的情况下分割 CGImage?我正在尝试做的是*以编程方式*分段图像以用于使用大图像的 CATiledLayer 应用程序,但我不想占用加载完整图像所涉及的内存。
此外,有没有办法以特定分辨率加载该(或任何)片段,因此如果我们从图像中缩小,我们可以以低细节级别加载该图块,从而节省内存。
谢谢!-马特
iphone - UIScrollView - CATiledLayer - PDF和Quartz绘图的组合
我想在 iphone/ipad 项目中在完整的可缩放 pdf 上绘制线条、矩形等(因此没有质量损失)。
首先:我以这个样本为基础:http ://www.olivetoast.com/blog/2009/08/simple-uiscrollview-catiledlayer-pdf-example/ 这个样本可以以全质量放大PDF
第二:我也基于这个样本:http ://www.iphonedevbook.com/forum/viewforum.php?f=1&sid=6d52a0d08a8c6a807cdedfde6a041088 这本书的样本名为 QuartzFun。它用于绘制一条线,矩形,...
这两个示例完全分开工作,但是当我想将它们结合起来时,我无法画线……为了使变薄更简单,我已经在此处结合了代码:http ://www.megafileupload.com/en/文件/297790/SimpleTiledScrollExample-1-zip.html
有人可以告诉我要改变什么才能让它工作吗?
提前致谢
ios - 使用 CATiledLayer 的 drawLayer:inContext:
我正在尝试使用CATiledLayer
+来实现我自己的地图引擎UIScrollView
。
在drawLayer:inContext:
我的实现方法中,如果我有当前边界框所需的某个图块图像,我会立即在上下文中绘制它。
但是,当我在本地缓存数据结构中没有可用的数据时,瓷砖图像是从瓷砖服务器异步请求/下载的,并且不会在上下文中绘制任何内容。
问题是,当我不在上下文中绘制任何东西时,视图的那一部分显示为空白图块。并且预期的行为是从以前的缩放级别显示放大的缩放平铺视图。
如果你们遇到任何类似的问题并找到任何解决方案,请告诉我。