TextureAtlasData textureAtlasData = new TextureAtlasData(new FileHandle(packFile), new FileHandle(packFile), false); for (Page page : pages) { for (Rect rect : page.outputRects) { String rectName = Rect.getAtlasName(rect.name, settings.flattenPaths); for (Region region : textureAtlasData.getRegions()) { if (region.name.equals(rectName)) { throw new GdxRuntimeException(
for (Page page : atlas.getPages()) { printExceptionAndExit(e); for (Region region : atlas.getRegions()) { if (!quiet) System.out.println(String.format("Processing image for %s: x[%s] y[%s] w[%s] h[%s], rotate[%s]", region.name, region.left, region.top, region.width, region.height, region.rotate));
for (Page page : atlas.getPages()) { printExceptionAndExit(e); for (Region region : atlas.getRegions()) { if (!quiet) System.out.println(String.format("Processing image for %s: x[%s] y[%s] w[%s] h[%s], rotate[%s]", region.name, region.left, region.top, region.width, region.height, region.rotate));
for (Page page : atlas.getPages()) { printExceptionAndExit(e); for (Region region : atlas.getRegions()) { EditorLogger.debug(String.format("Processing image for %s(%s): x[%s] y[%s] w[%s] h[%s], rotate[%s]", region.name, region.index, region.left, region.top, region.width, region.height, region.rotate));
for (Page page : atlas.getPages()) { printExceptionAndExit(e); for (Region region : atlas.getRegions()) { System.out.println(String.format("Processing image for %s: x[%s] y[%s] w[%s] h[%s], rotate[%s]", region.name, region.left, region.top, region.width, region.height, region.rotate));
TextureAtlas.TextureAtlasData atlasData = new TextureAtlas.TextureAtlasData( Gdx.files.absolute(pack.getOutputDir()).child(pack.getCanonicalFilename()), Gdx.files.absolute(pack.getOutputDir()), false); for (TextureAtlas.TextureAtlasData.Page page : atlasData.getPages()) { BufferedInputStream bis = null; try {
TextureAtlasData data = !atlasFile.exists() ? null : new TextureAtlasData(atlasFile, atlasFile.parent(), false); atlas = new TextureAtlas(data) { public AtlasRegion findRegion (String name) {
public static void crack(String srcAtlas,String dstDir) throws Exception{ FileHandle fh = Gdx.files.absolute(srcAtlas); TextureAtlasData data = new TextureAtlasData(fh, fh.parent(),false); File dir = new File(dstDir); if(!dir.exists()){ System.out.println("mkdirs:"+dstDir); for(Region region:data.getRegions()){ File file = region.page.textureFile.file(); BufferedImage root = ImageIO.read(file);
TextureAtlasData textureAtlasData = new TextureAtlasData(new FileHandle(packFile), new FileHandle(packFile), false); for (Page page : pages) { for (Rect rect : page.outputRects) { String rectName = Rect.getAtlasName(rect.name, settings.flattenPaths); for (Region region : textureAtlasData.getRegions()) { if (region.name.equals(rectName)) { throw new GdxRuntimeException(
TextureAtlasData textureAtlasData = new TextureAtlasData(new FileHandle(packFile), new FileHandle(packFile), false); for (Page page : pages) { for (Rect rect : page.outputRects) { String rectName = Rect.getAtlasName(rect.name, settings.flattenPaths); for (Region region : textureAtlasData.getRegions()) { if (region.name.equals(rectName)) { throw new GdxRuntimeException(
TextureAtlas.TextureAtlasData atlasData = new TextureAtlas.TextureAtlasData( Gdx.files.absolute(pack.getOutputDir()).child(pack.getCanonicalFilename()), Gdx.files.absolute(pack.getOutputDir()), false); for (TextureAtlas.TextureAtlasData.Page page : atlasData.getPages()) { PngImage image = new PngImage(page.textureFile.file().getAbsolutePath(), LOG_LEVEL); pngOptimizer.optimize(
TextureAtlas.TextureAtlasData atlasData = new TextureAtlas.TextureAtlasData( Gdx.files.absolute(pack.getOutputDir()).child(pack.getCanonicalFilename()), Gdx.files.absolute(pack.getOutputDir()), false); for (TextureAtlas.TextureAtlasData.Page page : atlasData.getPages()) { Pixmap pm = null; try { node.addMetadata(PackProcessingNode.META_COMPRESSION_RATE, compressionRateSum / atlasData.getPages().size);
TextureAtlasData atlas = new TextureAtlasData(new FileHandle(atlasFile), new FileHandle(imageDir), false); unpacker.splitAtlas(atlas, outputDir);
TextureAtlas.TextureAtlasData atlasData = new TextureAtlas.TextureAtlasData( Gdx.files.absolute(pack.getOutputDir()).child(pack.getCanonicalFilename()), Gdx.files.absolute(pack.getOutputDir()), false); for (TextureAtlas.TextureAtlasData.Page page : atlasData.getPages()) { long preCompressedSize = page.textureFile.length(); node.addMetadata(PackProcessingNode.META_COMPRESSION_RATE, compressionRateSum / atlasData.getPages().size);
public static void main (String[] args) { TextureUnpacker unpacker = new TextureUnpacker(); String atlasFile = null, imageDir = null, outputDir = null; // parse the arguments and display the help text if there is a problem with the command line arguments switch (unpacker.parseArguments(args)) { case 0: System.out.println(HELP); return; case 3: outputDir = args[2]; case 2: imageDir = args[1]; case 1: atlasFile = args[0]; } File atlasFileHandle = new File(atlasFile); String atlasParentPath = atlasFileHandle.getParentFile().getAbsolutePath(); // Set the directory variables to a default when they weren't given in the variables if (imageDir == null) imageDir = atlasParentPath; if (outputDir == null) outputDir = (new File(atlasParentPath, DEFAULT_OUTPUT_PATH)).getAbsolutePath(); // Opens the atlas file from the specified filename TextureAtlasData atlas = new TextureAtlasData(new FileHandle(atlasFile), new FileHandle(imageDir), false); unpacker.splitAtlas(atlas, outputDir); } }
@Override public void processPackage(PackProcessingNode node) throws Exception { PackModel pack = node.getPack(); ProjectModel project = node.getProject(); FileHandle packFileHandle = Gdx.files.absolute(pack.getOutputDir()).child(pack.getCanonicalFilename()); FileHandle imagesDirFileHandle = Gdx.files.absolute(pack.getOutputDir()); TextureAtlas.TextureAtlasData atlasData = new TextureAtlas.TextureAtlasData( packFileHandle, imagesDirFileHandle, false); long totalSize = 0; // Bytes totalSize += packFileHandle.length(); for (TextureAtlas.TextureAtlasData.Page page : atlasData.getPages()) { long pageSize = page.textureFile.length(); totalSize += pageSize; } node.addMetadata(PackProcessingNode.META_FILE_SIZE, totalSize); System.out.println("Total pack files size is " + totalSize + " bytes"); } }
@Override public Array<AssetDescriptor> getDependencies (String fileName, FileHandle atlasFile, TextureAtlasParameter parameter) { FileHandle imgDir = atlasFile.parent(); if (parameter != null) data = new TextureAtlasData(atlasFile, imgDir, parameter.flip); else { data = new TextureAtlasData(atlasFile, imgDir, false); } Array<AssetDescriptor> dependencies = new Array(); for (Page page : data.getPages()) { TextureParameter params = new TextureParameter(); params.format = page.format; params.genMipMaps = page.useMipMaps; params.minFilter = page.minFilter; params.magFilter = page.magFilter; dependencies.add(new AssetDescriptor(page.textureFile, Texture.class, params)); } return dependencies; }
@LmlAction("launchUnpackProcess") void launchUnpackProcess() { try { Gdx.app.log(TAG, "Start texture unpacking"); FileHandle outputDir = Gdx.files.absolute(edtOutputDir.getText()); FileHandle atlasFile = FileUtils.obtainIfExists(edtAtlasPath.getText()); if (atlasFile == null) throw new IllegalStateException("Atlas file does not exist: " + edtAtlasPath.getText()); TextureAtlas.TextureAtlasData atlasData = new TextureAtlas.TextureAtlasData(atlasFile, atlasFile.parent(), false); TextureUnpacker textureUnpacker = new TextureUnpacker(); textureUnpacker.splitAtlas(atlasData, outputDir.path()); Gdx.app.log(TAG, "Texture unpacking successfully finished"); showSuccessfulDialog(outputDir); } catch (Exception e) { Gdx.app.log(TAG, "Texture unpacking failed with error", e); showErrorDialog(e); } }
@Override public void processPackage(PackProcessingNode node) throws Exception { PackModel pack = node.getPack(); ProjectModel project = node.getProject(); FileHandle packFileHandle = Gdx.files.absolute(pack.getOutputDir()).child(pack.getCanonicalFilename()); FileHandle imagesDirFileHandle = Gdx.files.absolute(pack.getOutputDir()); TextureAtlas.TextureAtlasData atlasData = new TextureAtlas.TextureAtlasData( packFileHandle, imagesDirFileHandle, false); int pageAmount = atlasData.getPages().size; node.addMetadata(PackProcessingNode.META_ATLAS_PAGES, pageAmount); System.out.println(pageAmount + " pages"); } }
PageModel(AtlasModel atlasModel, TextureAtlas.TextureAtlasData.Page pageData, int pageIndex) { this.atlasModel = atlasModel; this.pageData = pageData; this.pageIndex = pageIndex; // Populate regions. Array<TextureAtlas.TextureAtlasData.Region> regionDataArray = atlasModel.getAtlasData().getRegions(); for (int i = 0; i < regionDataArray.size; i++) { TextureAtlas.TextureAtlasData.Region regionData = regionDataArray.get(i); if (regionData.page == pageData) { RegionModel region = new RegionModel(this, regionData); this.regions.add(region); } } }