我正在为掌握UISCrollViews 的 WWDC Session#104进行研究.我需要创建一个脚本或找到工具或编写脚本来从某些大JPG照片中生成所需的图块. 1000 500和250比例因素,生成的瓷砖需要尊重这样的命名模式: name_scale_col_row.jpg 关于我可以使用的工具或脚本的任何建议,或者我需要写一个? 编辑:我正在使用自己的小bash脚本.这是我到现在所做的: #!/bin/sh file_list=`ls | grep png` for i in 25 50 100; do for file in $file_list; do convert $file -scale ${i}%x${i}% -crop 256x256 \ -set filename:tile "%[fx:page.x/256]_%[fx:page.y/256]" \ +repage +adj
以下是关于 tiles 的编程技术问答
首先,我要说的是,这里的上下文是ActionScript 3.0(IDE:FlashBuilder),以及 Starling Framework . 所以,我想创建一个可以用于平台游戏或类似物品的瓷砖图. 我想在800x600像素阶段使用8x8像素瓷砖,而我的问题是我不知道如何在舞台上添加这些7500+的瓷砖对象,而不会大大减少帧速率. 我发现性能下降来自将每个图块添加到舞台上,而不是初始化每个瓷砖对象. 我知道我没有提供太多具体的信息,但是我要的是是否有一种标准化的方法可以将数千个静态对象吸引到舞台上而不会丧失性能.我觉得有一种方法,我还没有找到它. 更新: 在您的所有帮助之后,我找到了似乎是一个很好的解决方案.首先,我想使用copypixels()和draw()来实现艾米的解决方案,以使整个地图制作一个大的位图数据,然后将其渲染到屏幕上.不过,但是,我想知道是否有相当于这一点的八哥,因为如果我不必将Starling与本机闪光混合在一起,一切都会变得更加
我需要在2D图块图中生成一个简单的随机路径.输入参数是许多步骤.条件是每个瓷砖在路径上只有两个相邻的瓷砖,因此没有房间,也没有十字路口. 我在网上寻找一些解决方案,但我没有找到这样的东西.醉酒算法可建造房间,而其他所有内容都是迷宫的一代算法.也许我不是通过适当的关键字搜索. 重要的是随机性,因为我每次都需要完全不同的路径. 编辑:添加示例图像 样本路径: 主要特征是每个瓷砖只有2个邻居. 改进的版本将使用特定的目标图作为路径的末端,最小和最大步骤,但现在并不重要. 谢谢您的任何想法. 解决方案 创建2D地图 因此,创建地图大小的2D数组,然后通过0 将其清除 添加N随机障碍 例如,地图中的填充圆圈 使用a*找到最短路径 您可以使用我的... c ++ a*示例 如果您想要更复杂的东西,则可以创建随机地形并使用*找到最短路径(而上升将花费更多,然后下降……).要创建随机地形,您可以使用: 钻石
有没有一种方法可以使用HTML和JavaScript完全离线显示给定区域的地图?我正在寻找一种移动友好(启用Cordova)的解决方案. 解决方案 在中,有一个优雅的解决方案博客文章.我从中编写了一个完整的代码示例.这是: 1.创建地图图块 下载移动atlas Creator 用 osmdroid zip zip 格式创建一个新的地图集 进行地图和缩放选择,将您的选择添加到Atlas 单击"创建地图集" 解压缩地图集文件 您的瓷砖具有此格式: {atlas_name}/{z}/{x}/{y} .png ({z}代表" Zoom") 2.设置HTML和JavaScript 将您的Atlas文件夹复制到您的HTML root 下载 flaflet.js and flaflet.css 并将它们复制到html root 使用以下代码创建index.html 调整启动坐标并在 var mymap 的线上放大 将Atlasname更改为您的文件夹名
我是WPF的新手,并尝试将应用程序从VB6移植到C#和XAML. 我现在需要做的是从许多小图像中创建一个大图像,像一系列"瓷砖"一样排列.其中一些较小的会叠加在它们上. 在VB6中,完成铺平和覆盖将只是使用Paintpicture方法与Picturebox Control一起的问题. 这是我一步一步的瓷砖和覆盖的尝试(尽管实际上可以事先发生覆盖): ImageDrawing Drawing1 = new ImageDrawing(new BitmapImage(new Uri(@"c:\one.bmp", UriKind.Absolute)), new Rect(0, 0, 40, 130)); ImageDrawing Drawing2 = new ImageDrawing(new BitmapI
我正在使用Mkmapview和Mkoverlay的iPhone/iPad应用程序,该应用程序使用半透明的瓷砖地图覆盖层. 我希望用户能够深入缩放地图,但是地图覆盖的分辨率仅为6级. 我不想限制缩放. 但是...如果用户放大"太远",然后将滚动滚动到新瓷砖,如果它们比覆盖图的树更深,则不会绘制我的覆盖. 我希望覆盖层即使用户在深处进行缩放. 有什么最佳实现吗? 我想到的两个选项: 1)设定用户可以放大多远的限制.不是理想的,因为即使覆盖层是低分辨率,它们也可能仍在彩色透明度范围内,并且具有透明的过层似乎消失了. 2)渲染前瓷砖比以前更深的瓷砖……这起作用,但它的大小数量级会使我的应用程序填充我的应用程序. 必须有更好的方法.有什么想法?? 更新:最接近我正在做的示例代码,我可以找到的是Apple的TILEMAP示例,来自WWDC2010.他们的代码遇到了相同的问题 - 如果您在"太远"中放大了地图覆盖,则不会显示 解决方案 我
我正在使用一个使用Mkoverlay视图将自己的自定义映射分层在Google基本地图之上的应用程序.我一直在使用Apple的出色TILEMAP示例代码(来自WWDC 2010)作为指南. 我的问题 - 当"超过解剖"到比我生成的瓷砖集更深的细节时,代码什么也没有显示,因为在计算的z级别上没有瓷砖. 我想要的行为 - 当"夸大"时,应用程序应该不断放大最深层次的瓷砖.对于覆盖层来说,这是一个很好的用户体验 - 使覆盖层消失是一种非常糟糕的体验. 这是返回图块绘制的代码 - 我需要弄清楚如何对其进行修改以限制Z -Depth,而不会破坏为覆盖图计算的帧的缩放.有什么想法吗? - (NSArray *)tilesInMapRect:(MKMapRect)rect zoomScale:(MKZoomScale)scale { NSInteger z = zoomScaleToZoomLevel(scale); // PROBLEM: I need to
我开始使用osmdroid,我想使用此技术来显示有关F1电路的地图.我有一个大图,我可以将其切成薄片以将其分为较小的瓷砖. 我可以修改osmdroid库以上传这些图片吗? 我想将这些位图(图块)保存在我的资产文件夹中. 我在如何做到这一点上迷失了方向. 我正在使用这种方式,因为当我尝试显示此完整的全尺寸图片时,Android通常会产生内存错误.如果我只显示图像的一些瓷砖(取决于变焦),也许我的应用程序会更好? 预先感谢! 解决方案 osmdroid使用一个系统,其中世界地图分为图块.瓷砖通常具有相同的像素尺寸,这意味着您使用的更大的缩放水平需要更多的瓷砖来"覆盖世界".每个瓷砖都有其坐标(x,y)和设计用于使用的变焦级别. 可以在osmdroid中使用各种自定义瓷砖源.看看 osmdroid中的此类 - 它创建了一些瓷砖来源的实例.您可以使用相同的机制创建自己的瓷砖来源.但是,所有这些都使用了我上面描述的这些世界的这些X,y坐标. osmdro
我想设置瓷砖服务器. 我在网上找到了一些文档,然后遵循这个教程. 现在,我的数据库中似乎有一台带有小地图(圭亚那)的服务器,这很酷! 但是现在,我仍然不明白如何获取和配置接口以显示我的地图... 该教程建议并提供一些指向开放层和传单的链接,但似乎使用在线地图,但我想渲染我的本地文件. 另外,教程说" mapnik"是渲染的方法,但不知道如何使用! 我正在使用ubuntu 14.04,apache2,mod_tile,renderd,mapnik,osm2pgsql和virtualbox中的postgresql/postgresql/postgis数据库. 如果您有一些提示,欢迎您!谢谢 解决方案 如果您已经将ShapeFile导入到PostGIS数据库中,则可以创建样式或使用 OSM默认样式与 tilemill 工具,然后导入到mapnik.xml文件. 使用Mapnik样式文件,您可以按照指南使用Renderd和Mod_tile提供瓷砖
我想使用OSM数据运行瓷砖服务器 我想安装mod_tile,所以我遵循 mod_tile 但是当我做 时 ./配置 它说 checking for getloadavg... yes checking for apxs... no checking for apxs2... no checking for /opt/local/apache2/bin/apxs... no configure: error: Could not find apxs on the path. 知道什么出了什么问题? 解决方案 根据互联网您需要安装apache2-dev (以前称为apache2-devel).然后,apx二进制应位于/usr/bin/apxs2 或/usr/sbin/apxs2 .. 注意:要构建瓷砖服务器,您应该按照 switch2osm . 其他解决方案 for ubuntu sudo apt-get安装apache2-devel R
我在服务器上使用GeoServer和种子瓷砖.这些瓷砖是成功创建的,但我不知道目录结构正在遵循哪种模式...(即 我想在OpenLayers应用程序中使用图块,在那里我想使用一个使用XYZ-Pattern的OSM源,该源通常用作瓷砖服务的URL模式. 有没有办法告诉GeoServer,它应该用XYZ结构来创建瓷砖? 解决方案 很酷,一个小时前我也有同样的问题.这里是摘要. 注意: OP所说的XYZ格式是由Google Maps普及的格式,其中全局/底座是服务器端拆分的,并以A {z}/{x}/{y}格式用作瓷砖,其中变焦,纬度和经度在内部表示[1] . 实际上,提供此类"格式"的服务名称为Tile Map Service (TMS) [2],而GeoServer确实提供了此类服务[3]. XYZ只是用于访问TMS服务器[4]的OpenLayers中的类名称. 话虽如此,这是您如何在GeoServer和OpenLayers之间运行TMS服务的方法: 检查您的
我们有一些使用ol.source.XYZ源的层.对于加载策略,我们使用ol.loadingstrategy.tile(new ol.tilegrid.createXYZ({})).我们需要确保在进行其他操作之前,都将所有瓷砖都完全加载到地图视图中. 我们遇到了有关此的多个文章,但还没有找到100%的解决方案,这将为我们提供所需的解决方案.即使不是这种情况,逻辑也会返回真实.我们试图利用TileLoAdstart,TileLoDadend,TileLoadError事件,如示例页面,但这似乎并不总是返回预期的结果. GIS Stack Exchange文章在这里似乎很有希望,因为我们可以将下面列出的代码与tileloAdstart/tileloDadend事件结合使用,但是有许多函数调用仅在 ol-debug.js 中可用,而不是 ol.js 源代码.因此,下面粘贴的代码不适用于 ol.js .该代码只是引用的GIS堆栈交换文章中的副本. function calcula
我试图从GIBS Images Server显示每日MODIS卫星图像 var getTileUrl = function(tile, zoom) { return "http://map1.vis.earthdata.nasa.gov/wmts-webmerc/" + "MODIS_Terra_CorrectedReflectance_TrueColor/default/" + get_date() + "/" + "GoogleMapsCompatible_Level9/" + zoom + "/" + tile.y + "/" + tile.x + ".jpeg"; }; var layerOptions = { alt: "MODIS_Terra_TrueColor",
我已经使用RMMAPVIEW构建了一个控件. 我还从Mapbox下载了一个地图以脱机,并相应地设置最小和最大缩放级别,如以下方式: RMMapboxSource * tileSource = [[RMMapboxSource alloc] initWithMapID:DEBUG_MAP_ID]; RMMapView *mapView = [[RMMapView alloc] initWithFrame:self.view.bounds andTilesource:tileSource]; mapView.minZoom = [[[tileSource infoDictionary]objectForKey:@"minzoom"] intValue]; mapView.maxZoom = [[[tileSource infoDictionary]objectForKey:@"maxzoom"] intValue]; [mapView setZoom:mapView.minZoom a
在iPhone示例代码中" photoscroller " WWDC 2010中,他们展示了如何使用滚动,缩放和图像分页的照片应用程序进行相当好的模仿.他们还在图像上铺图图,以显示如何显示高分辨率图像并保持良好的性能. 瓷砖是在示例代码中实现的,通过抓住预缩放并剪切图像以用于不同的分辨率,并将其放置在构成整个图像的网格中. 我的问题是:有没有一种方法可以在不手动浏览所有照片并创建"瓷砖"的情况下?照片应用程序如何即时显示大图? 编辑 这是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, til
HI WP7移动热情开发人员! 我正在尝试使用Windows电话控件提供的默认提供的Bing Map控件. 具体来说,我试图使用自定义瓷砖来提供一个自定义的瓷砖地图,该图将以文件夹(内容文件)或分离式存储中存储在项目中. . down我提出了我尝试与ZXY存储格式中存储在" MAP"文件夹中的MAP图块/图像作为内容文件中的自定义类. public class CustomTileSource : Microsoft.Phone.Controls.Maps.TileSource { private string uriFormat = @"map/{0}/{1}/{2}.png"; public string UriFormat { get { return uriFormat; } set { uriFormat = value; } } public override Uri GetUr
我一直在寻找女巫,野生蝇20和jboss-deployment structure.xml之间有不同的范围在独立文件中宣布全球项目的模块都可以很好地工作,但是当我在独立文件上对此发表评论,并在子部门内部声明此内容J-d-s.xml时,该项目不使用tag-tiles或struts tag,此throw org org.apache.tiles.tiles.tiles.request.request.request.request .render.cannotrenderexception:ServletException包括路径'/web-inf/jsp/tl/bas.jsp'. jboss-deployment-structure.xml(version.1.0)
我要做的是将请求映射到servlet root(正确的术语?).我正在将URL映射到正确的视图,但是所有静态内容 - CSS,JavaScript,Images-这是页面的一部分. 所以在我的web.xml中,我的servlet标签看起来像 springapp / 我的控制器看起来像这样: @RequestMapping("/shop") public class TheShopController extends MyBaseController { public static String VIEW = "Tile.Shop"; @Override @RequestMapping(method = RequestMethod.GET)