zoukankan      html  css  js  c++  java
  • swf截图

    public abstract class Swf2Imgae
    {
    	public Swf2Imgae()
    	{
    		//
    		//TODO: 在此处添加构造函数逻辑
    		//
    
    	}
    	private static readonly int _defaultImgType = (int)SWFToImage.TImageOutputType.iotJPG;
    	private static readonly int _defaultWidth = WebConfiguration.ConverterSetting.GetThumbSize()[0];
    	private static readonly int _defaultHeight = WebConfiguration.ConverterSetting.GetThumbSize()[1];
    	/// <summary>
    	/// 截取swf缩略图
    	/// </summary>
    	/// <param name="swfPath">输入swf路径</param>
    	/// <param name="outImgPath">输出图片路径</param>
    	/// <param name="imgType">iotBMP = 0,iotJPG = 1,iotGIF = 2,iotPNG = 3,</param>
    	/// <param name="width">设置生成图片的宽度</param>
    	/// <param name="height">设置生成图片的高度</param>
    	/// <returns></returns>
    	public static string SWF2Image(string swfPath,string outImgPath,int width,int height)
    	{
    		try
    		{
    			SWFToImage.TImageOutputType imgType = SWFToImage.TImageOutputType.iotJPG; ;
    			if (!System.IO.File.Exists(swfPath))
    			{
    				return "ERROR:no find the swf file,invalid swf path";
    			}
    			string imgTypeStr = System.IO.Path.GetExtension(outImgPath);
    			switch (imgTypeStr.ToLower())
    			{
    			case ".bmp":
    					imgType = SWFToImage.TImageOutputType.iotBMP;
    				break;
    			case ".gif":
    				imgType = SWFToImage.TImageOutputType.iotGIF;
    				break;
    			case ".jpg":
    				imgType = SWFToImage.TImageOutputType.iotJPG;
    				break;
    			case ".png":
    				imgType = SWFToImage.TImageOutputType.iotPNG;
    				break;
    			}
    			string imgDir = System.IO.Path.GetDirectoryName(outImgPath);
    			if (!System.IO.Directory.Exists(imgDir))
    			{
    				System.IO.Directory.CreateDirectory(imgDir);
    			}
    			SWFToImage.SWFToImageObjectClass c = new SWFToImage.SWFToImageObjectClass();
    			c.ImageHeight = height;
    			c.ImageWidth = width;
    			c.JPEGQuality = 127;
    			c.InputSWFFileName = swfPath;
    			c.ImageOutputType = imgType;//SWFToImage.TImageOutputType.iotJPG;
    			c.Execute();
                
    			bool result = c.SaveToFile(outImgPath);
    			if (!result)
    			{
    				return "ERROR:convert fail";
    			}
    			if (System.IO.File.Exists(outImgPath))
    			{
    				return outImgPath;
    			}
    		}
    		catch (System.Exception ex)
    		{
    			return "ERROR:" + ex.Message;
    		}
    		
    		return null;
    	}
    	/// <summary>
    	/// 截取swf缩略图,默认宽高为400:300,默认格式为jpg
    	/// </summary>
    	/// <param name="swfPath">输入swf路径</param>
    	/// <param name="outImgPath">输出图片路径</param>
    	/// <returns></returns>
    	public static string SWF2Image(string swfPath, string outImgPath)
    	{
    		return SWF2Image(swfPath, outImgPath, _defaultWidth, _defaultHeight);
    	}
        public static object SWF2Image(string swfPath)
        {
            SWFToImage.SWFToImageObjectClass c = new SWFToImage.SWFToImageObjectClass();
            c.ImageHeight = _defaultHeight;
            c.ImageWidth = _defaultWidth;
            c.JPEGQuality = 127;
            c.InputSWFFileName = swfPath;
            c.ImageOutputType =SWFToImage.TImageOutputType.iotJPG;
            c.Execute();
            return c.BinaryImage;
            
        }
        /// <summary>
        /// 截取swf缩略图,默认宽高为400:300,默认格式为jpg
        /// </summary>
        /// <param name="swfPath">输入swf路径</param>
        /// <param name="outImgPath">输出图片路径</param>
        /// <returns></returns>
        public static void SWF2Image(object o)
        {
            SWF2ImageParams4 Values=null;
            SWF2ImageParams2 Values2 = null;
            try
            {
                 Values = (SWF2ImageParams4)o;
                if (Values==null)
                {
                    return;
                }
                SWF2Image(Values.SwfPath, Values.ImgPath, Values.Width, Values.Height);
            }
            catch (System.Exception ex)
            {
                Values2 = (SWF2ImageParams2)o;
                if (Values2 == null)
                {
                    return;
                }
                SWF2Image(Values2.SwfPath, Values2.ImgPath, _defaultWidth, _defaultHeight);
            }
            
            
        }
        /// <summary>
        /// 供SWF2Image 重载(4参数)SwfPath;ImgPath,Width,Height使用
        /// </summary>
        public class SWF2ImageParams4
        {
            public string SwfPath;
            public string ImgPath;
            public int Width;
            public int Height;
        }
        /// <summary>
        /// 供SWF2Image 重载(2参数)SwfPath;ImgPath;使用
        /// </summary>
        public class SWF2ImageParams2
        {
            public string SwfPath;
            public string ImgPath;
        }
    }
    

      

  • 相关阅读:
    spring websocket 记录
    mysql-enum
    再问jvm内存管理
    video相关参数、操作和事件
    监听页面关闭和刷新的总结
    VUE路由新页面打开的方法总结
    VUE的一个数据绑定与页面刷新相关的bug
    element-ui笔记
    Vue笔记(props和 mounted)
    Python总结(二)
  • 原文地址:https://www.cnblogs.com/jtans/p/2758717.html
Copyright © 2011-2022 走看看