我想将现有颜色变暗以用于渐变画笔.请问有人告诉我该怎么做?
C#,.net 2.0,GDI +
Color AdjustBrightness(Color c1, float factor)
{
float r = ((c1.R * factor) > 255) ? 255 : (c1.R * factor);
float g = ((c1.G * factor) > 255) ? 255 : (c1.G * factor);
float b = ((c1.B * factor) > 255) ? 255 : (c1.B * factor);
Color c = Color.FromArgb(c1.A,(int)r, (int)g, (int)b);
return c ;
}
Run Code Online (Sandbox Code Playgroud) 我一直在使用Hashtable,但本质上,哈希表没有被排序,我需要在添加它们时保持一切顺序(因为我想以相同的顺序将它们拉出来).例如,如果我这样做:
pages["date"] = new FreeDateControl("Date:", false, true, false);
pages["plaintiff"] = new FreeTextboxControl("Primary Plaintiff:", true, true, false);
pages["loaned"] = new FreeTextboxControl("Amount Loaned:", true, true, false);
pages["witness"] = new FreeTextboxControl("EKFG Witness:", true, true, false);
Run Code Online (Sandbox Code Playgroud)
当我做一个foreach时,我希望能够按以下顺序得到它:
pages["date"]
pages["plaintiff"]
pages["loaned"]
pages["witness"]
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我已经看过讨论这两个类似框架的文章,但大多数都是两年左右.我认为这两个项目现在比两年前更加成熟,情况更复杂.
因此,考虑到每个图书馆的现状,我希望有人可以提供每个图书馆的优缺点的详细解释,目前应该首选.
我最近编写了很多涉及与Win32 API互操作的代码,并且开始想知道什么是处理由Windows API函数调用引起的本机(非托管)错误的最佳方法.
目前,对本机函数的调用如下所示:
// NativeFunction returns true when successful and false when an error
// occurred. When an error occurs, the MSDN docs usually tell you that the
// error code can be discovered by calling GetLastError (as long as the
// SetLastError flag has been set in the DllImport attribute).
// Marshal.GetLastWin32Error is the equivalent managed function, it seems.
if (!WinApi.NativeFunction(param1, param2, param3))
throw new Win32Exception();
Run Code Online (Sandbox Code Playgroud)
引发异常的行可以等效地重写,我相信:
throw new Win32Exception(Marshal.GetLastWin32Error());
Run Code Online (Sandbox Code Playgroud)
现在,这很好,它会抛出一个异常,包含设置的Win32错误代码以及作为MessageException对象属性的(通常)人类可读的错误描述.但是,我一直认为修改/包装至少一些(如果不是全部)这些异常是明智的,这样它们会给出一个稍微更多的面向上下的错误消息,即在本机代码的任何情况下都更有意义.正在使用.我考虑了几个替代方案:
在构造函数中指定自定义错误消息Win32Exception.
throw new …Run Code Online (Sandbox Code Playgroud)我一直在尝试创建一个可调整大小的文本框(ASP.NET多行TextBox/ HTML textarea)并使用JQuery UI使其可调整大小,但似乎遇到了一些涉及自定义拖动句柄的问题.
关于该Resizable方法的JQuery文档(特别是关于该handles选项的文档)建议我可以设置任何句柄以使用自定义HTML元素.我已经设法使用默认的可调整大小的句柄使得可调整大小的文本框工作得很好,但是尝试设置自定义文本框(即我在标记中定义的HTML元素)会产生以下问题:可调整大小的容器会留下正确的空间量div底部的手柄(用于南手柄),但空间留空,并显示可调整大小的容器下方(外部)的元素(使用Firebug验证).
这是我的标记(ASP.NET/XHTML)和JavaScript代码:
<asp:TextBox runat="server" ID="codeTextBox" TextMode="MultiLine" Wrap="false" Rows="15">
</asp:TextBox>
<div class="resizable-s" style="width: 100%; height: 22px; background: red;">
</div>
<script type="text/javascript">
$(function() {
var codeTextBox = $("#<%= codeTextBox.ClientID %>");
codeTextBox.resizable({
handles: { s : $(".resizable-s") },
minHeight: 80,
maxHeight: 400
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
当然,我不能使可调整大小的句柄div(class resizable-s)成为TextBox/ 的子项textarea,但根据JQuery文档,这应该不是问题.
从我所做的搜索来看,我不是唯一一个遇到这个问题的人.(不幸的是,JQuery文档未能提供使用自定义可调整大小句柄的示例,因此我们都不确定正确的代码.)如果有人可以建议修复此问题,或确实确认它是JQuery错误,非常感谢.
我的问题是,是否有可能为单个div和该div中包含的所有元素重置css样式(很多它们).
我问,因为我发现这个教程是一个jquery shoutbox,它有自己的css文件.我不能只将样式复制到我自己的css文件中,因为它会将已经设置好样式的页面上的其余部分搞定.
我想过使用divwrapper并将所有这些重置仅应用于那个.我只是不确定是否可能
我只知道这种方式
#divwrapper td{ set styles }
@CHARSET "UTF-8";
/******* GENERAL RESET *******/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td {
border:0pt none;
font-family:inherit;
font-size: 100%; …Run Code Online (Sandbox Code Playgroud) 假设我们有一个带有属性和getter/setter的类InnerClass.我们还有一个包含InnerClass的类OuterClass.
例如
class InnerClass
{
private int m_a;
private int m_b;
public int M_A
{
get
{
return m_a;
}
set
{
m_a = value;
}
}
}
class OuterClass
{
private InnerClass innerClass
}
Run Code Online (Sandbox Code Playgroud)
我如何为OuterClass的innerClass成员实现正确的getter和setter?
提前致谢!
这里有一个简单的问题:有没有办法从锯齿状数组转换为双指针?
例如,转换double[][]为double**
不幸的是,这不能仅仅通过铸造(就像它可以在普通的旧C中)一样.使用fixed语句似乎也无法解决问题.在C#中是否有任何(最好尽可能高效)的方法来实现这一目标?我怀疑解决方案可能不是很明显,尽管我希望尽管是直截了当的.
我很好奇是否存在TeX/LaTeX的原生.NET渲染器.我能找到的最接近的匹配是Java实现,JMathTeX.我很想把它移植到C#,但在我这样做之前,我只想检查一下是否有人知道.NET实现.
我目前的想法是使用MiKTeX dvipng来编译TeX源并将生成的DVI渲染为PNG,但我仍然担心这可能会产生不可接受的开销,更不用说需要将MiKTeX与给定的程序捆绑在一起.
我在基于反射的C#代码中遇到了一些动态方法,我还没弄清楚它们究竟是什么.特别是似乎有一个DynamicMethod类允许在运行时生成和指定CLR方法.但那时还有MethodBuilder班级.他们似乎都做了非常相似的事情.显然,"动态组件"是AssemblyBuilder类,"动态类型"是TypeBuilder类.无论如何,它们都驻留在System.Reflection.Emit命名空间中.
MSDN似乎在这个主题上有很少的高级信息.因此,如果有人可以解释什么是动态方法,这里的所有XYZBuilder类都在哪里发挥作用,以及它们各自用于什么,那就太棒了.我应该知道的任何其他Reflection.Emit类型和功能也将受到赞赏.