日期:2014-05-17  浏览次数:20998 次

求一个类似QQCient 微博 图片点击效果的实例
QQ client的微博上面的小图片 点击下就能在屏幕中间显示 这个图片的原图片,求这个效果。

------解决方案--------------------
http://download.csdn.net/detail/wucq65/4025198
------解决方案--------------------
估计要装插件,
------解决方案--------------------
这个实现起来应该不难...用透明窗体...
------解决方案--------------------

原理就是这样..用无边框的窗体...
------解决方案--------------------
引用:
引用:
原理就是这样..用无边框的窗体... 哦 谢谢指点,可是我的图片是16进制的字符串怎么转变成Image呢?Image只有fromStream 我string转为stream是没有用的


把16进制转换成二进制流。。。然后就可以转成图片。
------解决方案--------------------
用透明窗体吧
------解决方案--------------------
引用:
引用:原理就是这样..用无边框的窗体... 哦 谢谢指点,可是我的图片是16进制的字符串怎么转变成Image呢?Image只有fromStream 我string转为stream是没有用的

转为byte,然后生成stream

------解决方案--------------------
引用:
引用:原理就是这样..用无边框的窗体... 哦 谢谢指点,可是我的图片是16进制的字符串怎么转变成Image呢?Image只有fromStream 我string转为stream是没有用的


 BinaryReader br = new BinaryReader(File.Open(@"D:\图片\mms_2.jpg", FileMode.Open));
            var bytes = br.ReadBytes((int)br.BaseStream.Length).ToList();//读取byte数组
            string str = string.Join("", bytes.Select(t => Convert.ToString(t, 16).PadLeft(2, '0')).ToArray());//生成16进制字符串
            br.Close();
            var ary = Regex.Matches(str, @"(?i)[a-f0-9]{2}").OfType<Match>().Select(t => Convert.ToByte(t.Value, 16)).ToArray();//将字符串转为byte数组
            MemoryStream mms = new MemoryStream(ary);//byte to stream
            var bmp = Bitmap.FromStream(mms);//stream to image
            pictureBox1.Image = bmp;
            mms.Dispose();