Java究竟怎么玩?http://blog.csdn.net/cping1982

菩提本无树,明镜亦非台,本来无一物,何处惹尘埃

匿名不具ID:cping1982
135817次访问,排名575好友12人,关注者15
机密……
cping1982的文章
原创 134 篇
翻译 0 篇
转载 37 篇
评论 292 篇
鹏凌三千(cping1982)的公告
本博评论删除规则如下:

1、辱骂性发言,无视其辱骂对象,一律删。

2、登录发表的评论,不违背第一条者一律不删。非登录发表的评论,过激者删。

3、若发生例外情况,则为CSDN博客系统自动删除。

声援SOFF|声援珊瑚虫:如果你是珊瑚虫用户,请坚决力挺声援珊瑚虫!

平生进退如飙风,一睨人才天下空。独向苍天横冷剑,何必生我惭英雄。

本人有效BLOG:

cping1982

ceponline

最近评论
321 GO!:有没有比TX更好的IM软件呢?
完全FREE
公开代码
无恶意的烦人的或可选择的插件
且持续更新
bluesmile979:番茄花园怎么了?看来孤陋寡闻了,得到网上找找新闻看看。
molanmsn:博主,看了您的博客,非常想和您交流下关于java游戏框架的技术~~ 我的QQ:747877829,也给您的博客发邮件了
molanmsn:博主,看了您的博客,非常想和您交流下关于java游戏框架的技术~~ 我的QQ:747877829,也给您的博客发邮件了
卡门:看了那么多恢复我已经无语了,但我支持楼主。易语言我非常讨厌,喜欢java,c++哈哈。
文章分类
收藏
    相册
    Java的PC游戏开发
    Java中的A*(A star)寻径实现
    Java制作的类祖码游戏-数字祖码
    Java实现窗体中角色逐渐风化效果
    Java版吃豆游戏
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[2]——踏破红尘
    Java[伪]寻径追踪实现
    JAVA中[人工无脑]系统(chatbot)的实现
    Java中2.5D游戏(斜45度角)的设计与实现(1)
    Java中2.5D游戏(斜45度角)的设计与实现(2)
    Java仿太阁立志传5
    JAVA图形操作中FPS的计算(附带随机生成乱数球体用例)
    JAVA实现拼图游戏
    Java来做马里奥[0]—让精灵再次舞动
    Java来做马里奥[1]—木叶传承
    Java来做马里奥[2]—食不厌精
    Java来做马里奥[3]—杂兵登场
    Java模拟桌球打击处理及绘制
    Java汉诺塔测试
    Java炸弹人实现及源码
    人生如梦游戏间,JAVA游戏开源开发讲座[番外篇]之AVG开发——皮影
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[0]——月晕础润
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[1]——风云初现
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[3]——邯郸学步
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[4]——一步莲华
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[5]——一树双花
    人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[6]——走马观花
    史上最扯Java图形绘制(J2SE)之一JAVA动画效果
    沉寂的国人开源项目
    bo-blog(blog系统,php项目)
    DockPanel Suite [Microsoft .NET Framework Winform UI]
    Hocate web framework[web框架]
    Loonframework-DAO[持久层框架]
    Loonframework-GAME[游戏框架,尚未发布]
    Loonframework-WEB[web框架,尚未发布]
    Luntbuild(软件管理工具)
    magike(php博客)
    myseelite(p2p流媒体系统,c++项目)
    newxy(新坐标)[web框架]
    opencrx(crm系统)
    redlion(web框架)
    x2blog(asp.net博客系统)
    YOYOPlayer(音乐播放器)
    袋鼠egg(服务器)
    经典Blog
    # gzfqh的专栏 →底层代码研究(病毒及汇编)(RSS)
    # java 3D 游戏编程(RSS)
    Struts框架应用
    Struts框架应用~
    千里冰封[JAVA 浓香四溢]
    网络安全圈子
    经典站点
    Google
    IBM中国站
    JavaGame开发论坛
    JAVA开源大全
    Java爱好者
    Struts标签文档
    SUN 中国社区
    中国IT实验室
    数据库专区
    偶的其它应用实例
    C#将图像文件压缩为AVI文件播放
    Java图形程序水纹倒映效果
    C#转换AVI文件为BMP文件
    ClassLoader调用外部jar包
    ExtJS2.0开发与实践笔记[0]——初识ExtJS
    ExtJS2.0开发与实践笔记[1]——ExtJS中的Dialog与Form
    ExtJS2.0开发与实践笔记[2]——Ext中的Layout
    ExtJS2.0开发与实践笔记[3]——Ext中的Menu
    ExtJS2.0开发与实践笔记[4]——Ext中的动画处理
    JavaFx实现(1)-渐变效果
    JavaFx实现(2)-随机图形绘制
    Java中DAO的实现
    Java中Image翻转操作
    Java中将byte[]转为Blob对象
    Java中的A*(A star)寻径实现
    Java制作绿色软件(GreenJVM_0.1.0发布)
    JAVA图形操作类
    Java图形程序中的对话逐字显示实现
    Java实现任意文件在bmp中的隐藏与导出
    JAVA实现可设置背景的MDI窗口
    Java实现嵌入式数据库(文本数据库)代码实例
    Java实现类Windows导航栏
    Java正则表达式入门
    JAVA版JAVA IDE环境(源码)
    JAVA线程池的简单实现及优先级设置
    Java自定义JSlider UI
    Java获得系统环境变量
    Java音乐播放类
    ResultSet转为实体对象
    SWT行,AWT/Swing也行系列(1)-实现半透明及不规则窗体
    在JTable中加载进度条及进行操作
    在Swing中使用Html标签
    在SWT中使用ChartDirector
    浅谈java.util.concurrent包的并发处理
    浅谈Java集合中Array(数组)的应用
    通过exe启动class
    偶的文章
    《三国以后有几国》
    中国本土化编程(汉语编程)之我见
    从珊瑚虫事件,看为什么中国出不了比尔.盖茨
    佛与专家
    叹今人无气节而作歌
    国产开源项目的七宗罪
    对Hibernate使用之愚见
    对Java(J2SE PC)开发之怪现象之我见
    浅谈命名规范[纯属强辩]
    灭了珊瑚虫,下一个是谁?
    率性而作无题歌一首
    百度对“十进制网络”的官方态度
    耻民
    论番茄花园的倒掉
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 C#将图像文件压缩为AVI文件播放收藏

    新一篇: Java获得系统环境变量 | 旧一篇: C#转换AVI文件为BMP文件

    继续上一篇blog

    using System;
    using System.Runtime.InteropServices;
    using System.Drawing;
    using System.Drawing.Imaging;

    namespace org.loon.util
    {
        
    /// <summary>
        
    /// AVIWriter 的摘要说明,chenpeng,Email:ceponline@yahoo.com.cn。
        
    /// </summary>

        public class AVIWriter
        
    {
            
    const string AVIFILE32 = "AVIFIL32";
            
    private int _pfile = 0;
            
    private IntPtr _ps = new IntPtr(0);
            
    private IntPtr _psCompressed = new IntPtr(0);
            
    private UInt32 _frameRate = 0;
            
    private int _count = 0;
            
    private UInt32 _width = 0;
            
    private UInt32 _stride = 0;
            
    private UInt32 _height = 0;
            
    //avi标识
            private UInt32 _fccType = 1935960438// vids
            private UInt32 _fccHandler = 808810089;// IV50
        
            
    private Bitmap _bmp;

            [DllImport(AVIFILE32)]
            
    private static extern void AVIFileInit();

            [DllImport(AVIFILE32)]
            
    private static extern int AVIFileOpenW(ref int ptr_pfile, [MarshalAs(UnmanagedType.LPWStr)]string fileName, int flags, int dummy);

            [DllImport(AVIFILE32)]
            
    private static extern int AVIFileCreateStream(int ptr_pfile, out IntPtr ptr_ptr_avi, ref AVISTREAMINFOW ptr_streaminfo);
            [DllImport(AVIFILE32)]
            
    private static extern int AVIMakeCompressedStream(out IntPtr ppsCompressed, IntPtr aviStream, ref AVICOMPRESSOPTIONS ao, int dummy);

            [DllImport(AVIFILE32)]
            
    private static extern int AVIStreamSetFormat(IntPtr aviStream, Int32 lPos, ref BITMAPINFOHEADER lpFormat, Int32 cbFormat);

            [DllImport(AVIFILE32)]
            
    unsafe private static extern int AVISaveOptions(int hwnd, UInt32 flags,int nStreams, IntPtr* ptr_ptr_avi, AVICOMPRESSOPTIONS** ao);

            [DllImport(AVIFILE32)]
            
    private static extern int AVIStreamWrite(IntPtr aviStream, Int32 lStart,Int32 lSamples, IntPtr lpBuffer, Int32 cbBuffer, Int32 dwFlags, Int32 dummy1, Int32 dummy2);

            [DllImport(AVIFILE32)]
            
    private static extern int AVIStreamRelease(IntPtr aviStream);

            [DllImport(AVIFILE32)]
            
    private static extern int AVIFileRelease(int pfile);

            [DllImport(AVIFILE32)]
            
    private static extern void AVIFileExit();

            [StructLayout(LayoutKind.Sequential, Pack 
    = 1)]
                
    private struct AVISTREAMINFOW
            
    {
                
    public UInt32 fccType;
                
    public UInt32 fccHandler;
                
    public UInt32 dwFlags;
                
    public UInt32 dwCaps;
                
    public UInt16 wPriority;
                
    public UInt16 wLanguage;
                
    public UInt32 dwScale;
                
    public UInt32 dwRate;
                
    public UInt32 dwStart;
                
    public UInt32 dwLength;
                
    public UInt32 dwInitialFrames;
                
    public UInt32 dwSuggestedBufferSize;
                
    public UInt32 dwQuality;
                
    public UInt32 dwSampleSize;
                
    public UInt32 rect_left;
                
    public UInt32 rect_top;
                
    public UInt32 rect_right;
                
    public UInt32 rect_bottom;
                
    public UInt32 dwEditCount;
                
    public UInt32 dwFormatChangeCount;
                
    public UInt16 szName0;
                
    public UInt16 szName1;
                
    public UInt16 szName2;
                
    public UInt16 szName3;
                
    public UInt16 szName4;
                
    public UInt16 szName5;
                
    public UInt16 szName6;
                
    public UInt16 szName7;
                
    public UInt16 szName8;
                
    public UInt16 szName9;
                
    public UInt16 szName10;
                
    public UInt16 szName11;
                
    public UInt16 szName12;
                
    public UInt16 szName13;
                
    public UInt16 szName14;
                
    public UInt16 szName15;
                
    public UInt16 szName16;
                
    public UInt16 szName17;
                
    public UInt16 szName18;
                
    public UInt16 szName19;
                
    public UInt16 szName20;
                
    public UInt16 szName21;
                
    public UInt16 szName22;
                
    public UInt16 szName23;
                
    public UInt16 szName24;
                
    public UInt16 szName25;
                
    public UInt16 szName26;
                
    public UInt16 szName27;
                
    public UInt16 szName28;
                
    public UInt16 szName29;
                
    public UInt16 szName30;
                
    public UInt16 szName31;
                
    public UInt16 szName32;
                
    public UInt16 szName33;
                
    public UInt16 szName34;
                
    public UInt16 szName35;
                
    public UInt16 szName36;
                
    public UInt16 szName37;
                
    public UInt16 szName38;
                
    public UInt16 szName39;
                
    public UInt16 szName40;
                
    public UInt16 szName41;
                
    public UInt16 szName42;
                
    public UInt16 szName43;
                
    public UInt16 szName44;
                
    public UInt16 szName45;
                
    public UInt16 szName46;
                
    public UInt16 szName47;
                
    public UInt16 szName48;
                
    public UInt16 szName49;
                
    public UInt16 szName50;
                
    public UInt16 szName51;
                
    public UInt16 szName52;
                
    public UInt16 szName53;
                
    public UInt16 szName54;
                
    public UInt16 szName55;
                
    public UInt16 szName56;
                
    public UInt16 szName57;
                
    public UInt16 szName58;
                
    public UInt16 szName59;
                
    public UInt16 szName60;
                
    public UInt16 szName61;
                
    public UInt16 szName62;
                
    public UInt16 szName63;
            }


            [StructLayout(LayoutKind.Sequential, Pack 
    = 1)]
                
    private struct AVICOMPRESSOPTIONS
            
    {
                
    public UInt32 fccType;
                
    public UInt32 fccHandler;
                
    public UInt32 dwKeyFrameEvery;
        
                
    public UInt32 dwQuality;
                
    public UInt32 dwBytesPerSecond;
            
                
    public UInt32 dwFlags;
                
    public IntPtr lpFormat;
                
    public UInt32 cbFormat;
                
    public IntPtr lpParms;
                
    public UInt32 cbParms;
                
    public UInt32 dwInterleaveEvery;
            }


            [StructLayout(LayoutKind.Sequential, Pack 
    = 1)]
                
    public struct BITMAPINFOHEADER
            
    {
                
    public UInt32 biSize;
                
    public Int32 biWidth;
                
    public Int32 biHeight;
                
    public Int16 biPlanes;
                
    public Int16 biBitCount;
                
    public UInt32 biCompression;
                
    public UInt32 biSizeImage;
                
    public Int32 biXPelsPerMeter;
                
    public Int32 biYPelsPerMeter;
                
    public UInt32 biClrUsed;
                
    public UInt32 biClrImportant;
            }


            
    public class AviException : ApplicationException
            
    {
                
    public AviException(string s) : base(s) { }
                
    public AviException(string s, Int32 hr)
                    : 
    base(s)
                
    {

                    
    if (hr == AVIERR_BADPARAM)
                    
    {
                        err_msg 
    = "AVIERR_BADPARAM";
                    }

                    
    else
                    
    {
                        err_msg 
    = "unknown";
                    }

                }


                
    public string ErrMsg()
                
    {
                    
    return err_msg;
                }

                
    private const Int32 AVIERR_BADPARAM = -2147205018;
                
    private string err_msg;
            }


            
    public Bitmap Create(string fileName, UInt32 frameRate, int width, int
                height)
            
    {
                _frameRate 
    = frameRate;
                _width 
    = (UInt32)width;
                _height 
    = (UInt32)height;
                _bmp 
    = new Bitmap(width, height, PixelFormat.Format24bppRgb);
                
    //锁定为24位位图
                BitmapData bmpDat = _bmp.LockBits(new Rectangle(00, width,
                    height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
                _stride 
    = (UInt32)bmpDat.Stride;
                _bmp.UnlockBits(bmpDat);
                AVIFileInit();
                
    int hr = AVIFileOpenW(ref _pfile, fileName, 40970);
                
    if (hr != 0)
                
    {
                    
    throw new AviException("Create错误!");
                }


                CreateStream();
                SetOptions();

                
    return _bmp;
            }


            
    public void AddFrame()
            
    {

                BitmapData bmpDat 
    = _bmp.LockBits(
                    
    new Rectangle(00, (int)_width, (int)_height),
                    ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);

                
    int hr = AVIStreamWrite(_psCompressed, _count, 1,
                    bmpDat.Scan0, 
                    (Int32)(_stride 
    * _height),
                    
    0
                    
    0,
                    
    0);

                
    if (hr != 0)
                
    {
                    
    throw new AviException("AVIStreamWrite");
                }


                _bmp.UnlockBits(bmpDat);

                _count
    ++;
            }


            
    public void LoadFrame(Bitmap nextframe)
            
    {

                _bmp 
    = new Bitmap(nextframe);
            }


            
    public void Close()
            
    {
                AVIStreamRelease(_ps);
                AVIStreamRelease(_psCompressed);

                AVIFileRelease(_pfile);
                AVIFileExit();
            }


            
    /// <summary>
            
    /// 创建流文件
            
    /// </summary>

            private void CreateStream()
            
    {
                AVISTREAMINFOW strhdr 
    = new AVISTREAMINFOW();
                strhdr.fccType 
    = _fccType;
                strhdr.fccHandler 
    = _fccHandler;
                strhdr.dwFlags 
    = 0;
                strhdr.dwCaps 
    = 0;
                strhdr.wPriority 
    =