热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

wp8入门到精通ImageCompress图片压缩

实例化选择器PhotoChooserTaskphotoChooserTasknewPhotoChooserTask();BitmapImage
//实例化选择器
        PhotoChooserTask photoChooserTask = new PhotoChooserTask();
        BitmapImage bimg;
        int newPixelWidth;
        int newPixelHeight;    

//构造函数里

            //从页面读取输入值作为目标分辨率     
            newPixelHeight = int.Parse(textBox2.Text.ToString());
                       //从页面读取输入值作为目标分辨率     
            newPixelHeight = int.Parse(textBox2.Text.ToString());
            newPixelWidth = int.Parse(textBox1.Text.ToString());
           
            textBox1.TextChanged += new TextChangedEventHandler(textBox1_TextChanged);
            textBox2.TextChanged += new TextChangedEventHandler(textBox2_TextChanged);
        

        void textBox2_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (textBox2.Text != "" && int.Parse(textBox2.Text.ToString()) != 0)
            {
                newPixelHeight = int.Parse(textBox2.Text.ToString());
            }
        }

        void textBox1_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (textBox1.Text != "" && int.Parse(textBox1.Text.ToString()) != 0)
            {
                 newPixelWidth = int.Parse(textBox1.Text.ToString());
            }
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            //为JPEG文件创建一个流
            StreamResourceInfo sri = null;

            //将Tulips.jpg的Build Action设为Content
            Uri jpegUri = new Uri("Images/Tulips.jpg", UriKind.Relative);
            sri = Application.GetResourceStream(jpegUri);

            //将该流解码
            WriteableBitmap bitmap = PictureDecoder.DecodeJpeg(sri.Stream);
            img.Source = bitmap;
        }

        private void button2_Click(object sender, RoutedEventArgs e)
        {
            String tempjpg = "tempimg";

            //创建虚拟存储
            var myStore = IsolatedStorageFile.GetUserStoreForApplication();
            if (myStore.FileExists(tempjpg))
            {
                myStore.DeleteFile(tempjpg);
            }

            IsolatedStorageFileStream myFileStream = myStore.CreateFile(tempjpg);
            StreamResourceInfo sri = null;
            sri = Application.GetResourceStream(new Uri("Images/Tulips.jpg", UriKind.Relative));

            //创建WriteableBitmap对象,
            BitmapImage bitmap = new BitmapImage();
            bitmap.CreateOptions = BitmapCreateOptions.None;
            bitmap.SetSource(sri.Stream);
            WriteableBitmap wb = new WriteableBitmap(bitmap);

            //WriteableBitmap对象编码,设置目标分辨率
            wb.SaveJpeg(myFileStream, newPixelWidth, newPixelHeight, 0, 85);
            myFileStream.Close();

            myFileStream = myStore.OpenFile(tempjpg, FileMode.Open, FileAccess.Read);

            //保存图片到图片库
            MediaLibrary library = new MediaLibrary();
            Picture pic = library.SavePicture("SavedPicture.jpg", myFileStream);

            myFileStream.Close();
        }

        private void button3_Click(object sender, RoutedEventArgs e)
        {
            //打开图片库
            photoChooserTask.Show();
            photoChooserTask.Completed += new EventHandler(photoChooserTask_Completed);

        }

        void photoChooserTask_Completed(object sender, PhotoResult e)
        {
            if (e.TaskResult == TaskResult.OK)
            {
                bimg = new BitmapImage();
                bimg.SetSource(e.ChosenPhoto);
                //设置Image控件的数据源
                img.Source = bimg;
            }
        }

UI

    "LayoutRoot" Background="Transparent">
        
            Auto"/>
            *"/>
        

        
        "TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            "ApplicationTitle" Text="MY APPLICATION" color: #800000;">"{StaticResource PhoneTextNormalStyle}"/>
            "PageTitle" Text="page name" Margin="9,-7,0,0" color: #800000;">"{StaticResource PhoneTextTitle1Style}"/>
        

        
        "ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            "img" 300"  VerticalAlignment="Top" />
            

 


推荐阅读
  • 本文详细探讨了在Java中如何将图像对象转换为文件和字节数组(Byte[])的技术。虽然网络上存在大量相关资料,但实际操作时仍需注意细节。本文通过使用JMSL 4.0库中的图表对象作为示例,提供了一种实用的方法。 ... [详细]
  • 1、编写一个Java程序在屏幕上输出“你好!”。programmenameHelloworld.javapublicclassHelloworld{publicst ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 服务器虚拟化存储设计,完美规划储存与资源,部署高性能虚拟化桌面
    规划部署虚拟桌面环境前,必须先估算目前所使用实体桌面环境的工作负载与IOPS性能,并慎选储存设备。唯有谨慎估算贴近实际的IOPS性能,才能 ... [详细]
  • 本文详细介绍了在Luat OS中如何实现C与Lua的混合编程,包括在C环境中运行Lua脚本、封装可被Lua调用的C语言库,以及C与Lua之间的数据交互方法。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • D17:C#设计模式之十六观察者模式(Observer Pattern)【行为型】
    一、引言今天是2017年11月份的最后一天,也就是2017年11月30日,利用今天再写一个模式,争取下个月(也就是12月份& ... [详细]
  • 使用Matlab创建动态GIF动画
    动态GIF图可以有效增强数据表达的直观性和吸引力。本文将详细介绍如何利用Matlab软件生成动态GIF图,涵盖基本代码实现与高级应用技巧。 ... [详细]
  • 在Android中实现黑客帝国风格的数字雨效果
    本文将详细介绍如何在Android平台上利用自定义View实现类似《黑客帝国》中的数字雨效果。通过实例代码,我们将探讨如何设置文字颜色、大小,以及如何控制数字下落的速度和间隔。 ... [详细]
  • 想把一组chara[4096]的数组拷贝到shortb[6][256]中,尝试过用循环移位的方式,还用中间变量shortc[2048]的方式。得出的结论:1.移位方式效率最低2. ... [详细]
  • ASP.NET 进度条实现详解
    本文介绍了如何在ASP.NET中使用HTML和JavaScript创建一个动态更新的进度条,并通过Default.aspx页面进行展示。 ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
  • 本文探讨了Python类型注解使用率低下的原因,主要归结于历史背景和投资回报率(ROI)的考量。文章不仅分析了类型注解的实际效用,还回顾了Python类型注解的发展历程。 ... [详细]
  • 本文深入探讨了WPF框架下的数据验证机制,包括内置验证规则的使用、自定义验证规则的实现方法、错误信息的有效展示策略以及验证时机的选择,旨在帮助开发者构建更加健壮和用户友好的应用程序。 ... [详细]
  • Java 中的十进制样式 getZeroDigit()方法,示例 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有