Просмотрите наши продукты

Aspose.3D for Java 21,8 Примечания к выпуску

Улучшения и изменения

КлючСводкаКатегория
THREEDNET-922Добавить поддержку слепых водяных знаковНовая функция
THREEDNET-920Сохранить в GLB файл с внешним кодировщиком draco потерял много информации.Исправление ошибок
THREEDNET-918Значительный спор о блокировке в параллельной сцене. Открыть с помощью файлов fbxУлучшение
THREEDNET-924Вычет вертекса не всегда работал в TriMeshИсправление ошибок
THREEDNET-923Непрозрачность не обрабатывается в импортере FBXИсправление ошибок
THREEDNET-912FBX в GLTF2 Преобразование выпусковИсправление ошибок

API изменения

Добавлен com.aspose.threed.Watermark

С 21,8 вы можете нанести слепой водяной знак на сетку, и водяной знак может существовать даже после того, как он был экспортирован в разные форматы.

    /**
    * Utility to encode/decode blind watermark  to/from a mesh.
    */
    public class Watermark
    {
        /**
        * Encode a text into mesh' blind watermark.
        * @param input Mesh to encode a blind watermark
        * @param text Text to encode to the mesh
        * @param password Password to protect the watermark, it's optional
        */
        public static Mesh encodeWatermark(Mesh input, String text, String password)
            throws IOException

        /**
        * Decode the watermark from a mesh
        * @param input The mesh to extract watermark
        * @param password The password to decrypt the watermark
        * @throws SecurityException The mesh is protected by password, and provided password is incorrect.
        */
        public static String decodeWatermark(Mesh input, String password)

    }

Образец кода для создания сетки с водяным знаком и сохранения его в файле PLY:

    //prepare a mesh for testing
    var mesh = new Torus().toMesh();
    //encode the watermark to the mesh with password protected
    mesh = Watermark.encodeWatermark(mesh, "Powered by Aspose.3D", "password");
    //save it to a file
    var scene = new Scene(mesh);
    scene.save("watermark-mesh.ply", FileFormat.PLY);

Код образца для считывания водяного знака из сетки:

    //load a mesh instance from a ply file
    var scene = new Scene("watermark-mesh.ply");
    var mesh = (Mesh)scene.getRootNode().getChild(0).getEntity();
    //read the watermark
    var watermark = Watermark.decodeWatermark(mesh, "password");
    System.out.println(watermark);


 
 Русский