/** * Writes the value expressed as a {@code uri}, which is the URI value. * @param resource A resource object describing external data. */ public final void writeUri(CesiumResource resource) { writeUri(resource.getUri(), resource.getBehavior()); }
/** * Create a CZML resource from a stream containing image data. The image data will be embedded in the CZML document using a data URI. * @param stream The stream containing image data to write. * @param imageFormat The format of the image. * @return A new {@link CesiumResource} containing the image data as a data URI. */ public static CesiumResource fromStream(InputStream stream, @Nonnull CesiumImageFormat imageFormat) { String dataUri = CesiumFormattingHelper.imageToDataUri(stream, imageFormat); return new CesiumResource(dataUri, CesiumResourceBehavior.EMBED); }
public final void testFromImageFormats(@Nonnull CesiumImageFormat format) { BufferedImage image = BitmapHelper.create(EmbeddedData.read("satellite.png")); cesiumlanguagewriter.CesiumResource resource = CesiumResource.fromImage(image, format); Assert.assertNotNull(resource); AssertHelper.assertStringStartsWith("data:", resource.getUri()); AssertHelper.assertStringContains(";base64,", resource.getUri()); }
@Test public final void testFromStream() { // arbitrary bytes byte[] contents = { 0, 1, 2, 3, 4 }; MemoryStream stream = new MemoryStream(contents); cesiumlanguagewriter.CesiumResource resource = CesiumResource.fromStream(stream, CesiumImageFormat.PNG); Assert.assertNotNull(resource); final String expected = "data:image/png;base64,AAECAwQ="; Assert.assertEquals(expected, resource.getUri()); }
@Test public final void testFromImage() { BufferedImage image = BitmapHelper.create(EmbeddedData.read("satellite.png")); cesiumlanguagewriter.CesiumResource resource = CesiumResource.fromImage(image, CesiumImageFormat.PNG); Assert.assertNotNull(resource); AssertHelper.assertStringStartsWith("data:image/png;base64,", resource.getUri()); }
@Test public final void testFromStreamMimeType() { // arbitrary bytes byte[] contents = { 0, 1, 2, 3, 4 }; MemoryStream stream = new MemoryStream(contents); cesiumlanguagewriter.CesiumResource resource = CesiumResource.fromStream(stream, "application/octet-stream"); Assert.assertNotNull(resource); final String expected = "data:application/octet-stream;base64,AAECAwQ="; Assert.assertEquals(expected, resource.getUri()); }
/** * Writes the value expressed as a {@code uri}, which is the property specified as a URI. * @param resource A resource object describing external data. */ public final void writeUri(CesiumResource resource) { writeUri(resource.getUri(), resource.getBehavior()); }
/** * Create a CZML resource from an image loaded into memory. The image data will be embedded in the CZML document using a data URI. * @param image The image to write. * @param imageFormat The format of the image. * @return A new {@link CesiumResource} containing the image data as a data URI. */ public static CesiumResource fromImage(RenderedImage image, @Nonnull CesiumImageFormat imageFormat) { String dataUri = CesiumFormattingHelper.imageToDataUri(image, imageFormat); return new CesiumResource(dataUri, CesiumResourceBehavior.EMBED); }
/** * Create a CZML resource from a stream. The data will be embedded in the CZML document using a data URI. * @param stream The stream containing data to write. * @param mimeType The mime type of the data. * @return A new {@link CesiumResource} containing the data as a data URI. */ public static CesiumResource fromStream(InputStream stream, String mimeType) { String dataUri = CesiumFormattingHelper.streamToDataUri(stream, mimeType); return new CesiumResource(dataUri, CesiumResourceBehavior.EMBED); } }