• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java RendererJob类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.mapsforge.map.layer.renderer.RendererJob的典型用法代码示例。如果您正苦于以下问题:Java RendererJob类的具体用法?Java RendererJob怎么用?Java RendererJob使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



RendererJob类属于org.mapsforge.map.layer.renderer包,在下文中一共展示了RendererJob类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getImage

import org.mapsforge.map.layer.renderer.RendererJob; //导入依赖的package包/类
public synchronized BufferedImage getImage( final int zoomLevel, final int xTile, final int yTile ) {
    try {
        Tile tile = new Tile(xTile, yTile, (byte) zoomLevel, tileSize);
        // displayModel.setFixedTileSize(tileSize);
        // Draw the tile
        float userScaleFactor = model.getUserScaleFactor();
        RendererJob mapGeneratorJob = new RendererJob(tile, mapDatabase, theme, model, userScaleFactor, false, false);
        AwtTileBitmap bmp = (AwtTileBitmap) renderer.executeJob(mapGeneratorJob);
        if (bmp != null) {
            BufferedImage bitmap = AwtGraphicFactory.getBitmap(bmp);
            return bitmap;
        }
    } catch (Exception e) {
        // e.printStackTrace();
        // will try again later
        System.err.println(
                "Not rendering tile: " + zoomLevel + "/" + xTile + "/" + yTile + "  (" + e.getLocalizedMessage() + ")");
    }
    return null;
}
 
开发者ID:TheHortonMachine,项目名称:hortonmachine,代码行数:21,代码来源:OsmTilegenerator.java


示例2: getTile

import org.mapsforge.map.layer.renderer.RendererJob; //导入依赖的package包/类
private ByteBuf getTile(String themeName, byte zoom, int tx, int ty) throws Exception {
  		long begin = System.currentTimeMillis();

  		String action;
  		RenderThemeFuture rtf = getRenderThemeFuture(themeName);
  		TileCache tileCache = getTileCache(themeName);
  		RendererJob theJob = createJob(MAPDS, rtf, zoom, tx, ty);
  		
  		if (!tileCache.containsKey(theJob)) {
  			action = "Draw tile";
  			TileBasedLabelStore tileBasedLabelStore = new TileBasedLabelStore(tileCache.getCapacityFirstLevel());
  			DatabaseRenderer renderer = new DatabaseRenderer(MAPDS, GRAPHIC_FACTORY, tileCache, tileBasedLabelStore, true, true, null);
  			TileBitmap tb = renderer.executeJob(theJob);
  			tileCache.put(theJob, tb);
  		} else {
  			action = "Use cached tile";
  		}

// Load tile as a Netty buffer.
String tilePath = String.format("%s/%s/%d/%d/%d.tile", SAVE_PATH, themeName, zoom, tx, ty);
InputStream tile = new FileInputStream(tilePath);
ByteBuf buffer = Unpooled.buffer();
buffer.writeBytes(tile, tile.available());

double elapsed = (System.currentTimeMillis() - begin) / 1000.0;

// TODO: Use logger.
System.out.printf("%s %s/%d/%d/%d. (%.3f seconds used)\n", action, themeName, zoom, tx, ty, elapsed);

return buffer;
  }
 
开发者ID:virus-warnning,项目名称:mapsforge-web,代码行数:32,代码来源:HttpServerHandler.java


示例3: renderTile

import org.mapsforge.map.layer.renderer.RendererJob; //导入依赖的package包/类
public synchronized Drawable renderTile(MapTile pTile) {

        Tile tile = new Tile(pTile.getX(), pTile.getY(), (byte) pTile.getZoomLevel(), 256);
        model.setFixedTileSize(256);

        //You could try something like this to load a custom theme
        //try{
        //	jobTheme = new ExternalRenderTheme(themeFile);
        //}
        //catch(Exception e){
        //	jobTheme = InternalRenderTheme.OSMARENDER;
        //}


        if (mapDatabase==null)
            return null;
        try {
            //Draw the tile
            RendererJob mapGeneratorJob = new RendererJob(tile, mapDatabase, theme, model, scale, false, false);
            AndroidTileBitmap bmp = (AndroidTileBitmap) renderer.executeJob(mapGeneratorJob);
            if (bmp != null)
                return new BitmapDrawable(AndroidGraphicFactory.getBitmap(bmp));
        } catch (Exception ex) {
            Log.d(IMapView.LOGTAG, "###################### Mapsforge tile generation failed", ex);
        }
        //Make the bad tile easy to spot
        Bitmap bitmap = Bitmap.createBitmap(TILE_SIZE_PIXELS, TILE_SIZE_PIXELS, Bitmap.Config.RGB_565);
        bitmap.eraseColor(Color.YELLOW);
        return new BitmapDrawable(bitmap);
    }
 
开发者ID:osmdroid,项目名称:osmdroid,代码行数:31,代码来源:MapsForgeTileSource.java


示例4: loadTile

import org.mapsforge.map.layer.renderer.RendererJob; //导入依赖的package包/类
public org.mapsforge.core.graphics.Bitmap loadTile(Tile tile)
{
	RendererJob job = getJob(tile);
	org.mapsforge.core.graphics.Bitmap bitmap = tileCache.getImmediately(job);
	if (bitmap == null && !tileCache.containsKey(job))
		jobQueue.add(job);
	jobQueue.notifyWorkers();
	return bitmap;
}
 
开发者ID:andreynovikov,项目名称:Androzic,代码行数:10,代码来源:ForgeMap.java


示例5: createJob

import org.mapsforge.map.layer.renderer.RendererJob; //导入依赖的package包/类
private RendererJob createJob(MapDataStore mapData, RenderThemeFuture rtf, byte zoom, int tx, int ty) {
	Tile tile = new Tile(tx, ty, zoom, TILE_SIZE);
	RendererJob theJob = new RendererJob(tile, mapData, rtf, DISPLAY_MODEL, 1.0f, false, false);
	return theJob;
}
 
开发者ID:virus-warnning,项目名称:mapsforge-web,代码行数:6,代码来源:HttpServerHandler.java


示例6: call

import org.mapsforge.map.layer.renderer.RendererJob; //导入依赖的package包/类
@Override
public BufferedImage call()  {
	// get mapsforge zoom from jxmapviewer2 zoom (they use different conventions)
	byte mapsforgeZoom = zoomLevelConverter.getMapsforge(tile.getZoom());

	// load the render them
	RenderThemeFuture rtf = new RenderThemeFuture(AwtGraphicFactory.INSTANCE, renderTheme, model);
	rtf.run();

	// render the mapsforge tile
	org.mapsforge.core.model.Tile mtile = new org.mapsforge.core.model.Tile(tile.getX(), tile.getY(), mapsforgeZoom, TILE_SIZE);
	RendererJob job = new RendererJob(mtile, mapDatabase, rtf, model, TEXT_SCALE, true, false);
	TileBitmap bitmap = databaseRenderer.executeJob(job);

	// copy it over onto an image (CompressedImage needs TYPE_INT_ARGB and anyway we can't access the buffered image internal to the tile)
	BufferedImage image = new BufferedImage(TILE_SIZE, TILE_SIZE, BufferedImage.TYPE_INT_ARGB);
	Graphics2D g = (Graphics2D)image.getGraphics();
	g.setClip(0, 0, TILE_SIZE, TILE_SIZE);
	g.setColor(Color.WHITE);
	g.fillRect(0, 0, TILE_SIZE, TILE_SIZE);
	Canvas canvas = (Canvas) AwtGraphicFactory.createGraphicContext(g);
	canvas.drawBitmap(bitmap, 0, 0);
	if(fadeColour!=null){
		BackgroundMapUtils.renderFade(g,fadeColour.getColour());				
	}
	
	g.dispose();
	if(fadeColour!=null){
		image = BackgroundMapUtils.greyscale(image, fadeColour.getGreyscale());				
	}
	
	// TEST save to file
//	ImageUtils.toPNGFile(image, new File("C:\\temp\\MapsforgeOutput\\" + System.currentTimeMillis() + ".png"));
	
	// add to cache
	CompressedImage compressed = new CompressedImage(image, CompressedType.LZ4);
	cacheImage(tile.getX(), tile.getY(), tile.getZoom(), compressed);

	// remove from pending after adding from cache (so can't be added twice)
	removeTile(tile);
	
	return image;
}
 
开发者ID:PGWelch,项目名称:com.opendoorlogistics,代码行数:44,代码来源:MapsforgeTileFactory.java


示例7: getJob

import org.mapsforge.map.layer.renderer.RendererJob; //导入依赖的package包/类
private static RendererJob getJob(Tile tile)
{
	return new RendererJob(tile, mapDataStore, renderTheme, displayModel, textScale, false, false);
}
 
开发者ID:andreynovikov,项目名称:Androzic,代码行数:5,代码来源:ForgeMap.java



注:本文中的org.mapsforge.map.layer.renderer.RendererJob类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java AmazonInfo类代码示例发布时间:2022-05-22
下一篇:
Java SnmpTools类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap