Search in sources :

Example 1 with Image

use of uk.me.parabola.imgfmt.app.typ.Image in project mkgmap by openstreetmap.

the class CommonSection method readXpm.

/**
 * Read an XMP image from the input scanner.
 *
 * Note that this is sometimes used just for colours so need to deal with
 * different cases.
 */
protected Xpm readXpm(TokenScanner scanner, String header, boolean simple) {
    ColourInfo colourInfo = readColourInfo(scanner, header);
    String msg = colourInfo.analyseColours(simple);
    if (msg != null)
        throw new SyntaxException(scanner, msg);
    Xpm xpm = new Xpm();
    xpm.setColourInfo(colourInfo);
    int height = colourInfo.getHeight();
    int width = colourInfo.getWidth();
    if (height > 0 && width > 0) {
        colourInfo.setHasBitmap(true);
        Image image;
        if (colourInfo.getNumberOfColours() == 0)
            image = readTrueImage(scanner, colourInfo);
        else
            image = readImage(scanner, colourInfo);
        xpm.setImage(image);
    }
    hasXpm = true;
    return xpm;
}
Also used : Xpm(uk.me.parabola.imgfmt.app.typ.Xpm) SyntaxException(uk.me.parabola.mkgmap.scan.SyntaxException) BitmapImage(uk.me.parabola.imgfmt.app.typ.BitmapImage) TrueImage(uk.me.parabola.imgfmt.app.typ.TrueImage) Image(uk.me.parabola.imgfmt.app.typ.Image) ColourInfo(uk.me.parabola.imgfmt.app.typ.ColourInfo)

Aggregations

BitmapImage (uk.me.parabola.imgfmt.app.typ.BitmapImage)1 ColourInfo (uk.me.parabola.imgfmt.app.typ.ColourInfo)1 Image (uk.me.parabola.imgfmt.app.typ.Image)1 TrueImage (uk.me.parabola.imgfmt.app.typ.TrueImage)1 Xpm (uk.me.parabola.imgfmt.app.typ.Xpm)1 SyntaxException (uk.me.parabola.mkgmap.scan.SyntaxException)1