我正在解决一个问题,当我使用GDI操作它时,我调整大小的图像会失去颜色饱和度.
我正在加载JPG作为原始版本,调整大小并且生成的图像的饱和度(颜色强度)比原始图片少得多.我该怎么做才能改善这一点?这是我的代码:
using ( var original = System.Drawing.Image.FromStream( new MemoryStream( image.RawData ) ) )
{
using ( var dst = new Bitmap( width, height, PixelFormat.Format32bppArgb ) )
{
using ( var g = Graphics.FromImage( dst ) )
{
g.SmoothingMode = SmoothingMode.HighQuality;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.CompositingQuality = CompositingQuality.HighQuality;
g.DrawImage( original, 0, 0, dst.Width, dst.Height );
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage( original, 0, 0, dst.Width, dst.Height );
var jpgEncoder = GetEncoder( ImageFormat.Jpeg );
var myEncoderParameters = new EncoderParameters( 1 );
var quality = … 以下文件夹中有".yii"文件:
它是什么?
假设您有以下代码:
而不是做:
Try
'
' Initialize some objects
'
'
' do something that fails
'
'
' Clean up-code that gets not reached because exception
'
Catch e As Exception
'
'Clean up initialized objects
'
Throw e
End Try
Run Code Online (Sandbox Code Playgroud)
我想要做:
Try
'
' Initialize some objects
'
'
' do something that fails
'
Catch e As Exception
Throw e
Finally
'
'Clean up initialized objects
'
End Try
Run Code Online (Sandbox Code Playgroud)
所以我的简单问题是:如果出现异常,即使之前有一些行,也会达到finally块?
[编辑] 感谢您的快速解答.
在第一行中我会想到NullReference-,COM-和FileNotFound-Exceptions.
好的,我会去找这个代码:
Try
'
' Initialize …Run Code Online (Sandbox Code Playgroud) 哇,这个真的有我.我想在这里需要一些棘手的sed技能.这是我试图替换的命令文本的输出值:
...
fast
n : abstaining from food
Run Code Online (Sandbox Code Playgroud)
我想要替换它的价值是:
...
Noun
: abstaining from food
Run Code Online (Sandbox Code Playgroud)
事实证明这是我认为的诡计.因为'fast'被列出了很多次,因为它列在行的开头的其他地方.所以我想出了这个来定义范围:
sed '/fast/,/^ n : / s/fast/Noun/'
Run Code Online (Sandbox Code Playgroud)
我认为会这样做,但是......不幸的是,这并没有结束替换,这场比赛后的其余输出被Noun取代.比赛结束后如何让sed停止更换?更好的是,我可以找到两行模式匹配并替换它吗?
有人可以推荐一个用于为Sql Server数据库生成数据的开源/免费工具吗?
我正在寻找像Redgate的Sql Data Generator这样的东西.
任何帮助深表感谢.
创建新的 Visual Studio C++ 项目时,有两种方法:运行向导,然后痛苦地更改项目中的所有必要设置,或者只是复制现有项目,重命名其中的所有内容并将文件添加到其中。
除了 .vcproj 文件存储项目 GUID 之外,第二个变体很棒。当两个或多个项目在一个解决方案中时,此 GUID 用于跟踪项目依赖项和启动项目。如果一个解决方案中的任何两个项目具有相同的 GUID,则可能会出现问题 - 依赖项丢失,并且在下一个解决方案重新加载时会重置启动项目。
显然,需要一种工具来扫描文件系统子树并检测具有相同 GUID 的项目。在我开始写一个之前......是否有一个现成的工具?
我正在使用实体框架,并且有一个查看一组People的循环,并使用foreach循环创建一个查询每个人的地址.在创建每个地址查询时,它会添加到树视图的节点中,以后可以使用它(填充子节点):
IQueryable<Person> pQuery = (IQueryable<Person>)myContext.People; //get a list of people
//go through and get the set of addresses for each person
foreach (var p in pQuery)
{
var addressQuery = from a in myContext.Addresses
from al in a.Address_Links
where al.P_ID == p.P_ID
orderby a.A_POST_CODE
select a;
//add the query to a TreeView node (use the tag to store it)
TreeNode newNode = new TreeNode();
newNode.Tag = addressQuery;
}
Run Code Online (Sandbox Code Playgroud)
现在,我在运行应用程序时发现的问题是所有查询都是最后创建的查询,即循环的最后一次迭代.就像在循环的第一次迭代中创建addressQuery,然后在每个后续查询中覆盖它.结果就是它就像treenodes中的所有地址查询都是对最后一个查询的引用(?)
进一步研究我可以通过使用静态类生成地址查询并将其传递到每个TreeNode来解决问题,如下所示:
public static class Queries
{
public static IQueryable<Address> AddressesForPerson(GenesisEntities myContext, …Run Code Online (Sandbox Code Playgroud) 我正在实现一个用2轴显示表格信息的视图,但是我开始遇到渲染所有单元格的性能问题.
视图看起来像这样:
+------------+-------------+------------+------------+------------+
| | 12.00am | 1.00am | 2.00am | 3.00am |
+------------+---------+---+---+--------+--------+---+-+---+------+
| Category 1 | x | x | x | x | x | |
+------------+---------+-------+-----+-----------+-----+---+------+
| Category 2 | | x | x |
+------------+---------+-------+----+--+--------------------------+
| Category 3 | | x | x | x |
+------------+--+---------------+-------+-------------------------+
Run Code Online (Sandbox Code Playgroud)
每个x标记单元格的中心,或标记放置在时间轴上的类别中的一条数据.单元格将包含单个文本标签.当按下细胞时,我需要知道按下了细胞.x轴将包含24个标记,并且将存在5到30行数据之间的任何位置.
目前,我已经使用3 main实现了它UIScrollViews; 一个在顶部,一个在侧面,然后是一个大的所有细胞.滚动大滚动视图时,它会更新顶部和侧面滚动视图的contentOffsets.这似乎工作得很好,而且非常直观.
大型scrollView有许多行视图,与左侧边栏中的标题对齐.然后将单元格插入它们各自的行视图中,并在x轴上移动以相对于时间标记对齐.数据单元不一定与x轴的每小时时间增量精确对齐.
我遇到了两个问题:
CALayer每个行和单元格视图的边框都绘制了1px边框).第一个问题的一些可能的天真解决方案:
有没有人对解决这个问题的最佳方法有任何高级别的意见?我以前没有处理过大量的数据/视图,所以任何输入都会非常感激.
我正在使用SQL Server 2008,并尝试在管理工作室中运行以下查询:
UPDATE
Table1 as T1 INNER JOIN Table2 as T2 ON T1.ID=T2.ID
SET T1.SomeValue = T2.SomeValue
GO
Run Code Online (Sandbox Code Playgroud)
虽然不起作用.是否支持这种事情?
卡尔
[编辑]让我更清楚,我不想做类似的事情:
UPDATE
Table1 as T1 INNER JOIN Table2 as T2 ON T1.ID=T2.ID
SET T1.SomeValue = T2.SomeValue
T1.SomeValue2 = T2.SomeValue2
T1.SomeValue3 = T2.SomeValue3
T1.SomeValue4 = T2.SomeValue4
GO
Run Code Online (Sandbox Code Playgroud)
即无需显式执行T1.SomeValue = SELECT ...,T2.SomeValue = SELECT ...
IntelliJ社区版似乎没有eclipse支持.您是否知道将Eclipse项目导入IntelliJ Community Edition的智能方法?
另见http://blogs.jetbrains.com/idea/2009/10/intellij-idea-open-sourced/