blp-iio-plugin | Java Image IO plugin for BLP texture files

 by   DrSuperGood Java Version: Current License: GPL-3.0

kandi X-RAY | blp-iio-plugin Summary

kandi X-RAY | blp-iio-plugin Summary

blp-iio-plugin is a Java library. blp-iio-plugin has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has low support. However blp-iio-plugin build file is not available. You can download it from GitHub.

Java Image IO plugins for BLP texture files used in games like Warcraft III and World of Warcraft. The BLP file format, extension ".blp", was created by Blizzard Entertainment for games like Warcraft III and World of Warcraft to hold texture assets used for the graphics. There exists 3 versions of the format, BLP0 being used by the Warcraft III Reign of Chaos beta, BLP1 by all released versions of Warcraft III and BLP2 by World of Warcraft. Being a non-standard image format no official specification exists. Instead fans of the games reverse engineered the format and wrote a variety of tools and libraries to read or write BLP files. However many of these were based on an incomplete and largely wrong reference resulting in strange, suboptimal or buggy behavior when interacting with BLP files or using produced BLP files in the intended games. Despite the huge popularity of Warcraft III the true mechanics of the format remained a mystery for over a decade. Thanks to research done by a user at hiveworkshop.com going by the name of DrSuperGood/ImperialGood a more correct specification was created. From this a highly compatible BLP Image IO plugin was created for the Java programming language as a working reference. From this more accurate plugins or libraries targeting other languages can be easily created. Although other BLP library implementations existed for the Java programming language, most of them had serious flaws. None were in the form of an Image IO plugin, meaning that the standard Image IO API could not be used. They also fail to comply to the format standards. On top of that some had very heavy dependencies such as relying on other huge Image IO libraries for functionality. Provided is a light weight highly compliant IIO plugin for a ImageReader to read from BLP files. BLP0 files can be read by providing either a File or Path object to the .blp file. BLP1 files can be read like most standard image formats. BLP files may contain multiple images, each image representing a mipmap level. To use all one has to is build a JAR using Eclipse and place it in the path of a Java program and the plugin will automatically be used. Since it is based on the IIO API of standard Java even existing Java programs can take advantage of the plugin without needing to be rebuilt. The following standard Java will create a BufferedImage from a BLP file... The produced BufferedImage is intended for accurate reproduction of BLP file content and not performance. It is recommended to convert to a native BufferedImage format if performing any serious processing or when speed is important. The BufferedImage is always in a linear RGB color space, matching how the textures are loaded and processed. Conversion from a linear RGB to sRGB is up to the programmer. A Writer is also provided which can produce a BLP file from RenderedImage. The writer is only capable of writing out to fresh BLP files and will throw an exception if trying to modify an existing BLP file. By default the writer will produce all required mipmaps using area averaging for maximum quality rather than speed. JPEG content BLP files will default to 0.9 quality and quality can be adjusted explicitly using a ImageWriteParam. By default image dimensions will be automatically optimized to the maximum useful dimensions for the version specified. The following standard Java will write a BufferedImage (implements RenderedImage) to a BLP file. BLP2 is not supported due to a lack of detailed specification and test examples. There are currently no plans for developing BLP2 support unless someone is found to take on the task. Until then it is recommended to use another BLP library that specifically targets BLP2.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              blp-iio-plugin has a low active ecosystem.
              It has 6 star(s) with 1 fork(s). There are no watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 2 open issues and 0 have been closed. On average issues are closed in 354 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of blp-iio-plugin is current.

            kandi-Quality Quality

              blp-iio-plugin has no bugs reported.

            kandi-Security Security

              blp-iio-plugin has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              blp-iio-plugin is licensed under the GPL-3.0 License. This license is Strong Copyleft.
              Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.

            kandi-Reuse Reuse

              blp-iio-plugin releases are not available. You will need to build from source code and install.
              blp-iio-plugin has no build file. You will be need to create the build yourself to build the component from source.
              Installation instructions are not available. Examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi has reviewed blp-iio-plugin and discovered the below as its top functions. This is intended to give you an instant insight into blp-iio-plugin implemented functionality, and help decide if they suit your requirements.
            • Write image
            • Serialize this object
            • Returns the default stream metadata
            • Sets the encoding type
            • Returns true if the given input stream can be decoded
            • Returns true if this object equals another value
            • Returns the BLP version of a BLP file
            • Get the data elements
            • Get data elements in RGB mode
            • Get data elements of an RGB color
            • Gets data elements
            • Get the sample offset of the band
            • Sets the input image
            • Get the localized representation of this object
            • Sets the data elements in the image
            • Read the BLP index color model
            • Converts the given string to the internal magic number
            • Creates a universal palette with the specified color levels
            • Processes the mmmap data
            • Encode the supplied image to a byte array
            • Encodes the given image
            • Reads the image at the given index
            • Read JPEG header
            • Decodes the mmmap
            • Decodes a mmmap
            • Serializes the JPEG header
            Get all kandi verified functions for this library.

            blp-iio-plugin Key Features

            No Key Features are available at this moment for blp-iio-plugin.

            blp-iio-plugin Examples and Code Snippets

            No Code Snippets are available at this moment for blp-iio-plugin.

            Community Discussions

            No Community Discussions are available at this moment for blp-iio-plugin.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install blp-iio-plugin

            You can download it from GitHub.
            You can use blp-iio-plugin like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the blp-iio-plugin component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/DrSuperGood/blp-iio-plugin.git

          • CLI

            gh repo clone DrSuperGood/blp-iio-plugin

          • sshUrl

            git@github.com:DrSuperGood/blp-iio-plugin.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular Java Libraries

            CS-Notes

            by CyC2018

            JavaGuide

            by Snailclimb

            LeetCodeAnimation

            by MisterBooo

            spring-boot

            by spring-projects

            Try Top Libraries by DrSuperGood

            JCASC

            by DrSuperGoodJava

            simutrans-extended-updater

            by DrSuperGoodJava