From 6a471dcbb82b0a3b881517625b3b76c30e7db126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=85=E6=B0=B8?= Date: Wed, 4 Jun 2014 22:33:54 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=8F=AA=E6=9C=89=E6=BA=90=E7=A0=81?= =?UTF-8?q?=E6=89=8D=E6=9C=89=E7=AE=A1=E7=90=86=E7=9A=84=E4=BB=B7=E5=80=BC?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 173 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 9ac0ec3..748683d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,174 @@ -# Build Folders (you can keep bin if you'd like, to store dlls and pdbs) -bin -obj +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. -# mstest test results -TestResults \ No newline at end of file +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +x64/ +build/ +bld/ +[Bb]in/ +[Oo]bj/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +#NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding addin-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +_NCrunch_* +.*crunch*.local.xml + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml + +# NuGet Packages Directory +packages/ +## TODO: If the tool you use requires repositories.config uncomment the next line +#!packages/repositories.config + +# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets +# This line needs to be after the ignore of the build folder (and the packages folder if the line above has been uncommented) +!packages/build/ + +# Windows Azure Build Output +csx/ +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ -- Gitee From a4e502f06d205ffdc02ae7637a38e0943a00b67f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=85=E6=B0=B8?= Date: Wed, 4 Jun 2014 23:55:30 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=BA=90=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=97=A0=E6=B3=95=E7=9B=B4=E6=8E=A5=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E7=8E=B0=E5=9C=A8=E4=B8=8D?= =?UTF-8?q?=E5=9C=A8=E9=9C=80=E8=A6=81=E6=9B=B4=E6=94=B9=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=9A=84=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=B9=B6=E4=BF=9D=E6=8C=81=E4=BA=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 但是修改后的页无法使用设计视图,这个需要 WP7_ControlsLib 程序集的源码。 --- OSChina.suo | Bin 125952 -> 0 bytes OSChina/PubMsgPage.xaml | 4 ++-- OSChina/PubPostPage.xaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 OSChina.suo diff --git a/OSChina.suo b/OSChina.suo deleted file mode 100644 index 46ffb05a26c57fce27a10971617d3c14d5c2e993..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125952 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 IT(98ue>wDZ%>V!Z diff --git a/OSChina/PubMsgPage.xaml b/OSChina/PubMsgPage.xaml index 1af2498..9a87bd7 100644 --- a/OSChina/PubMsgPage.xaml +++ b/OSChina/PubMsgPage.xaml @@ -1,4 +1,4 @@ - - + diff --git a/OSChina/PubPostPage.xaml b/OSChina/PubPostPage.xaml index 3cb9a22..dadcc97 100644 --- a/OSChina/PubPostPage.xaml +++ b/OSChina/PubPostPage.xaml @@ -1,4 +1,4 @@ - - + -- Gitee From e841d95a674dfc0968dfbfb5b43008b072c2b157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=85=E6=B0=B8?= Date: Tue, 17 Jun 2014 23:55:58 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E8=AE=A1=E7=AE=97=E2=80=9C=E6=9C=80=E4=BD=B3=E2=80=9D?= =?UTF-8?q?=E5=8C=B9=E9=85=8D=E7=9B=AE=E6=A0=87=E5=A4=A7=E5=B0=8F=E7=9A=84?= =?UTF-8?q?=E5=87=BD=E6=95=B0=EF=BC=8C=E5=B9=B6=E4=BD=BF=E7=94=A8=E5=85=B6?= =?UTF-8?q?=E6=94=B9=E9=80=A0=E7=8E=B0=E6=9C=89=E7=9A=84=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F=E8=B0=83=E6=95=B4=E5=87=BD=E6=95=B0=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OSChina/Helper/Tool.cs | 68 ++++++++++++++++++++++++++++++++++++++-- OSChina/MainPage.xaml.cs | 4 +-- 2 files changed, 67 insertions(+), 5 deletions(-) diff --git a/OSChina/Helper/Tool.cs b/OSChina/Helper/Tool.cs index 040a9cd..874ab3a 100644 --- a/OSChina/Helper/Tool.cs +++ b/OSChina/Helper/Tool.cs @@ -2033,12 +2033,74 @@ namespace OSChina #region 图像处理 public static Stream ReduceSize(BitmapImage g_bmp) { - WriteableBitmap wb = new WriteableBitmap( g_bmp ); - MemoryStream g_MS = new MemoryStream( ); - System. Windows. Media. Imaging. Extensions. SaveJpeg( wb, g_MS, 800, 640, 0, 82 ); + + const int dw = 800;//destWidth //非 0 和 1 值使用常数定义,以便后期维护。 + const int dh = 640;//destHeight //这里代码很短,仅用简拼的变量名即可,但是最好能标注下简拼的意义原文。 + var destSize = new Size(dw,dh); + var fitSize = destSize; + if (null == g_bmp) + { + } + else + { + var srcSize = new Size(g_bmp.PixelWidth,g_bmp.PixelHeight); + fitSize = srcSize.ComputeUniformSize(destSize); + } + + WriteableBitmap wb = new WriteableBitmap(g_bmp); + MemoryStream g_MS = new MemoryStream(); + wb.SaveJpeg(g_MS,(int)Math.Round(fitSize.Width),(int)Math.Round(fitSize.Height),0,82); + g_MS. Seek( 0, SeekOrigin. Begin ); return g_MS; } + + /// + /// 将 的大小向 大小进行适应性调整。 + /// + /// 原大小 + /// 目标大小 + /// 最佳的调整值。 + static Size ComputeUniformSize(this Size src,Size dest /* = new Size() */) + { + //const int dw = 800;//destWidth //非 0 和 1 值使用常数定义,以便后期维护。 + //const int dh = 640;//destHeight //这里代码很短,仅用简拼的变量名即可,但是最好能标注下简拼的意义原文。 + const double min = 0.001;//最小宽高比。本来觉得定 0.1 已经足够了,但是。。。发现有些上传的图片,你懂的。。。 + var r = dest;//保证任何未处理的路径返回需要的大小。 + //if (Size.Empty == dest) dest = new Size(dw,dh);//使用扩展函数和参数默认值方便调用者。 + + //计算过程: + if (src.Width>dest.Width||src.Height>dest.Height) + { + //计算 + + double ndh = Math.Max(1,dest.Height); + var d = dest.Width / ndh;//目标大小 宽高比。 + d = Math.Max(d,min); + + double nsh = Math.Max(1,src.Height); + var s = src.Width / nsh;//条件大小 宽高比。 + s = Math.Max(s,min); + + if (s > d)//太“宽”了。 + { + //r.Width = dest.Width; + r.Height = src.Height / s; + } + else //太“高”了或相似。 + { + //r.Height = dest.Height; + r.Width = src.Width * s; + } + } + else + { + //过小的图片,为了防止失真,不建议进行调整。 + r = src; + } + + return r;//保证程序仅有一个出口。 + } #endregion } } \ No newline at end of file diff --git a/OSChina/MainPage.xaml.cs b/OSChina/MainPage.xaml.cs index 2b4903c..ad08f8d 100644 --- a/OSChina/MainPage.xaml.cs +++ b/OSChina/MainPage.xaml.cs @@ -408,8 +408,8 @@ namespace OSChina { if (e1.ChosenPhoto != null) { - BitmapImage bmpSource = new BitmapImage(); - bmpSource.SetSource(e1.ChosenPhoto); + //BitmapImage bmpSource = new BitmapImage(); + //bmpSource.SetSource(e1.ChosenPhoto); BitmapImage g_bmp = new BitmapImage(); g_bmp.CreateOptions = BitmapCreateOptions.DelayCreation; g_bmp.SetSource(e1.ChosenPhoto); -- Gitee