我CGContextShowText用来显示文本,但是当使用它旋转时CGAffineTransformation,旋转轴位于左侧,而不是绘制文本的中心,我使用的代码是:
CGContextSaveGState(context);
CGContextSelectFont(context, "Helvetica", 20, kCGEncodingMacRoman);
CGContextSetCharacterSpacing (context, 1);
CGContextSetRGBFillColor (context, 0, 0, 0, 1);
CGAffineTransform xform = CGAffineTransformMake(
sin(DegreesToRadians(angle)), cos(DegreesToRadians(angle)),
cos(DegreesToRadians(angle)), -sin(DegreesToRadians(angle)),
0, 0);
CGContextSetTextDrawingMode (context, kCGTextFill);
CGPoint degreeDisplayPoint = CGPointMake(100,100);
CGContextShowTextAtPoint(context, degreeDisplayPoint.x, degreeDisplayPoint.y, [angleStringWithDegree cStringUsingEncoding:NSMacOSRomanStringEncoding], [angleStringWithDegree length]);
CGContextRestoreGState(context);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我有Visual C++ 2008的问题.我已经安装了opencv,我已经创建了一个新程序,我构建它没有错误.但是,它抱怨在调试时没有找到MSVCR90D.dll.在发布模式下,完全没有问题.
我在其中一个Winsxs文件夹中有MSVCR90D.dll.有谁知道这个问题的解决方案?这是一个已知的错误?
杰拉德
尽管像<div>s 这样的元素通常会增长以适应其内容,但使用该float属性可能会给 CSS新手带来惊人的问题:如果浮动元素具有非浮动父元素,则父元素将崩溃.
例如:
<div>
<div style="float: left;">Div 1</div>
<div style="float: left;">Div 2</div>
</div>Run Code Online (Sandbox Code Playgroud)
此示例中的父div 不会展开以包含其浮动的子项 - 它似乎具有height: 0.
我想在这里创建一个详尽的解决方案列表.如果您了解跨浏览器兼容性问题,请指出它们.
浮动父母.
<div style="float: left;">
<div style="float: left;">Div 1</div>
<div style="float: left;">Div 2</div>
</div>Run Code Online (Sandbox Code Playgroud)
优点:语义代码.
缺点:您可能并不总是希望父级浮动.即使你这样做,你是否漂浮了父母的父母,等等?你必须浮动每个祖先元素吗?
给父母一个明确的高度.
<div style="height: 300px;">
<div style="float: left;">Div 1</div>
<div style="float: left;">Div 2</div>
</div>Run Code Online (Sandbox Code Playgroud)
优点:语义代码.
缺点:不灵活 - 如果内容更改或浏览器调整大小,布局将中断.
在父元素中添加"spacer"元素,如下所示:
<div>
<div style="float: left;">Div 1</div>
<div style="float: left;">Div 2</div>
<div …Run Code Online (Sandbox Code Playgroud)在以下情况下使用私有常量是否正确:
假设我有一个带有生命变量和startingLives变量的游戏.在游戏开始时,我将lives变量设置为等于startingLives变量.这就是我通常会这样做的方式:
private var lives:int = 0;
private var startingLives:int = 3;
private function startGame():void
{
lives = startingLives;
}
Run Code Online (Sandbox Code Playgroud)
(示例代码是ActionScript btw)
我的问题是 - 这真的应该是:
private var lives:int = 0;
private const STARTING_LIVES:int = 3;
private function startGame():void
{
lives = STARTING_LIVES;
}
Run Code Online (Sandbox Code Playgroud)
StartingLives似乎不太可能在运行时改变,所以我应该使用const,如果事实证明不是常量则更改回变量?
更新:共识似乎是这是一个很好的使用常量,但amdfan的建议,你可能想要从配置文件加载值?
与一位同事进行了一场激烈的辩论,讨论他在try/catch中包装他的大部分功能的做法,但是抓住它只是一个"抛出",例如
Private sub foo()
try
'Do something'
catch
throw 'And nothing else!'
End Try
End Sub
Run Code Online (Sandbox Code Playgroud)
我的想法是甚至不打扰(假设你此时不需要做任何事情) - 异常会冒泡到父成员中的下一个异常处理程序.
听起来似乎有道理的唯一论点是,有时异常没有被捕获并且您的代码停止了(在调试模式下),当前行以绿色突出显示...并且这可能与多个线程有关?最佳实践会声明"每个线程的异常处理程序",但大多数情况下我们使用单线程.
好处可能是它在调试模式下可能有用而不会突然弹出到父成员(是的,Joel!) - 你将转到"throw"语句并能够检查你的本地人.但是那么你的代码将"乱七八糟地尝试/捕获/抛出"(在这里引用另一个线程)?
如果没有异常发生,那么在任何地方添加try/catch/throws会涉及什么样的开销(即你应该避免在紧密循环中尝试/捕获)?
我一直听到关于并发编程的每一个地方.你们能否对它的内容有所了解以及c ++新标准如何促进这样做?
我有一个使用jQuery提交ajax帖子的表单,它序列化了发送的表单.代码如下所示:
var form = $("form");
var action = form.attr("action");
var serializedForm = form.serialize();
$.post(action, serializedForm, function(data)
{
...
});
Run Code Online (Sandbox Code Playgroud)
这里的问题是,如果一个字段有尾随空格,那么当它们被剥离时,序列化函数会将这些空格转换为加号(+).
有没有办法在不执行以下操作的情况下修剪字段:
$("#name").val( jQuery.trim( $("#name") ) );
Run Code Online (Sandbox Code Playgroud) 我正在开发一个社交网站.
从项目的第一天开始考虑可扩展性,我已经很好地调整了网站和查询.
然而; 某些页面的数据量非常大,我不太确定它们是否加载速度尽可能快,所以我在考虑实现分布式缓存解决方案.
但不太确定我应该缓存什么而不是缓存.或者,如果当前页面加载时间为1秒是好还是坏.
最重要的查询是抓取会员信息,此查询获取所有会员的信息以及与他们相关的任何信息,例如在此网站的情况下他们的目标,博客类型条目,鼓励,照片,状态更新(如推特),博客信息(用于交叉输入他们的条目) )等
无论如何,我应该缓存这些信息吗?您是否认为1秒的加载时间相当快?有些页面在4-6个十分之一秒之间不到一秒钟.
我有一个DateTime?我正在尝试使用a插入字段DbParameter.我正在创建这样的参数:
DbParameter datePrm = updateStmt.CreateParameter();
datePrm.ParameterName = "@change_date";
Run Code Online (Sandbox Code Playgroud)
然后我想把s 的值DateTime?放到dataPrm.Valuewhile中null.
我以为我最初很聪明:
datePrm.Value = nullableDate ?? DBNull.Value;
Run Code Online (Sandbox Code Playgroud)
但是因错误而失败
接线员'??' 不能应用于'System.DateTime?'类型的操作数 和'System.DBNull'
所以我想这只有在第二个参数是第一个参数的非可空版本时才有效.那么我去了:
datePrm.Value = nullableDate.HasValue ? nullableDate.Value : DBNull.Value;
Run Code Online (Sandbox Code Playgroud)
但这也不起作用:
无法确定条件表达式的类型,因为'System.DateTime'和'System.DBNull'之间没有隐式转换
但我不想在这些类型之间进行转换!
到目前为止,我唯一可以上班的是:
if (nullableDate.HasValue)
datePrm.Value = nullableDate.Value;
else
datePrm.Value = DBNull.Value;
Run Code Online (Sandbox Code Playgroud)
这真的是我写这个的唯一方法吗?有没有办法使用三元运算符来实现单线程?
更新:我真的不明白为什么?? 版本不起作用.MSDN说:
?? ?? 如果左侧操作数不为null,则运算符返回左侧操作数,否则返回右侧操作数.
这正是我想要的!
Update2:最后有点明显:
datePrm.Value = nullableDate ?? (object)DBNull.Value;
Run Code Online (Sandbox Code Playgroud) c# ×2
c++ ×2
.net ×1
ado.net ×1
asp.net-mvc ×1
c++11 ×1
caching ×1
clearfix ×1
cocoa-touch ×1
coding-style ×1
concurrency ×1
const ×1
constants ×1
css ×1
css-float ×1
dbnull ×1
debugging ×1
forms ×1
html ×1
iphone ×1
javascript ×1
jquery ×1
layout ×1
msvcr90d.dll ×1
null ×1
nullable ×1
private ×1
trim ×1
vb.net ×1
winsxs ×1