Exemplo n.º 1
0
    /// <summary>
    /// 设置水印图片
    /// </summary>
    /// <param name="watermarkData"></param>
    /// <returns></returns>
    private RawImage SetWatermarkPhoto(WatermarkData watermarkData, string watermarkName)
    {
        RawImage watermarkPhoto = new GameObject(watermarkName).AddComponent <RawImage>();

        watermarkPhoto.rectTransform.SetParent(EncryptionCanvas.transform);
        watermarkPhoto.rectTransform.localScale    = Vector3.one;
        watermarkPhoto.rectTransform.anchorMin     = watermarkData.anchorMin.Get();
        watermarkPhoto.rectTransform.anchorMax     = watermarkData.anchorMax.Get();
        watermarkPhoto.rectTransform.localPosition = new Vector3(watermarkData._Rect.x, watermarkData._Rect.y, 0);
        watermarkPhoto.rectTransform.sizeDelta     = new Vector2(watermarkData._Rect.z, watermarkData._Rect.w);
        watermarkPhoto.texture       = watermarkData._TextureData.Get();
        watermarkPhoto.raycastTarget = false;

        return(watermarkPhoto);
    }
Exemplo n.º 2
0
    //------------------------------

    public static void Watermark(WatermarkData config)
    {
        //-y  -i .../watermark.png -i .../input.mp4 -filter_complex \
        //"[0:v]scale=iw*0.25:ih*0.25 [ovrl], [1:v][ovrl]overlay=x=(main_w-overlay_w)*0.95:y=(main_h-overlay_h)*0.05" \
        //FFmpegUnityBindDemo.mp4
        StringBuilder filter = new StringBuilder();

#if UNITY_STANDALONE_OSX || UNITY_STANDALONE_WIN || UNITY_EDITOR
        filter.Append(DOUBLE_QUOTE);
#endif
        filter.
        Append("[0:v]scale=iw*").
        Append(config.imageScale).
        Append(":ih*").
        Append(config.imageScale).
        Append(" [ovrl], [1:v][ovrl]overlay=x=(main_w-overlay_w)*").
        Append(config.xPosNormal).
        Append(":y=(main_h-overlay_h)*").
        Append(config.yPosNormal);
#if UNITY_STANDALONE_OSX || UNITY_STANDALONE_WIN || UNITY_EDITOR
        filter.Append(DOUBLE_QUOTE);
#endif

        string[] command =
        {
            REWRITE_INSTRUCTION,
            INPUT_INSTRUCTION,
            config.imagePath,
            INPUT_INSTRUCTION,
            config.inputPath,
            FILTER_COMPLEX_INSTRUCTION,
            filter.ToString(),
            config.outputPath
        };

        DebugCommand(command);

        Wrapper.Execute(command);
    }