zoukankan      html  css  js  c++  java
  • wp8 入门到精通 ImageCompress 图片压缩

    //实例化选择器
            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<PhotoResult>(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

        <Grid x:Name="LayoutRoot" Background="Transparent">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
    
            <!--TitlePanel contains the name of the application and page title-->
            <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
                <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
                <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
            </StackPanel>
    
            <!--ContentPanel - place additional content here-->
            <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
                <Image x:Name="img" Height="300"  VerticalAlignment="Top" />
                <Button Content="加载图片" Height="82" HorizontalAlignment="Left" Margin="150,0,0,219" Name="button1" VerticalAlignment="Bottom" Width="160" Click="button1_Click" />          
                <Button Content="保存图片" Height="72" HorizontalAlignment="Left" Margin="150,376,0,0" Name="button2" VerticalAlignment="Top" Width="160" Click="button2_Click" />
                <Button Content="查看图片" Height="72" HorizontalAlignment="Left" Margin="150,438,0,0" Name="button3" VerticalAlignment="Top" Width="160" Click="button3_Click" />
                <TextBox Height="72" HorizontalAlignment="Left" Margin="150,535,0,0" Name="textBox1" Text="20" VerticalAlignment="Top" Width="114" />
                <TextBox Height="72" HorizontalAlignment="Left" Margin="251,535,0,0" Name="textBox2" Text="20" VerticalAlignment="Top" Width="116" />
                <TextBlock Height="46" HorizontalAlignment="Left" Margin="-12,555,0,0" Name="textBlock1" Text="设置目标分辨率" VerticalAlignment="Top" Width="156" />
            </Grid>
        </Grid>
  • 相关阅读:
    Visual C++ 11 中新的并发功能
    Windows Azure Achievements for Visual Studio 发布
    视频:Pariveda解决方案帮助客户使用Windows Azure拓展商机
    ISV博客系列:本帖出自Fielding系统的创始人兼首席执行官
    2012新版微软一站式示例代码浏览器正式发布 包含Windows Azure代码示例!
    现实世界的Windows Azure:采访Soluto的创始人Tomer Dvir
    Hello China操作系统运行截图(完整版)
    ISV客户博客系列:Persistent Systems 使用Windows Azure交付基于Java的CloudNinja项目
    行业操作系统示例汽车操作系统
    上海的主要商务区域
  • 原文地址:https://www.cnblogs.com/luquanmingren/p/4060721.html
Copyright © 2011-2022 走看看