问题列表 - 第1877页

如何更改文本旋转轴

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)

有任何想法吗?

iphone cocoa-touch core-graphics

0
推荐指数
1
解决办法
833
查看次数

使用Visual C++ 2008在调试模式下找不到MSVCR90D.dll

我有Visual C++ 2008的问题.我已经安装了opencv,我已经创建了一个新程序,我构建它没有错误.但是,它抱怨在调试时没有找到MSVCR90D.dll.在发布模式下,完全没有问题.

我在其中一个Winsxs文件夹中有MSVCR90D.dll.有谁知道这个问题的解决方案?这是一个已知的错误?

杰拉德

c++ debugging winsxs msvcr90d.dll visual-studio-2008

17
推荐指数
2
解决办法
4万
查看次数

你如何让浮动元素的父母崩溃?

尽管像<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.

你怎么解决这个问题?

我想在这里创建一个详尽的解决方案列表.如果您了解跨浏览器兼容性问题,请指出它们.

解决方案1

浮动父母.

<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)

优点:语义代码.
缺点:您可能并不总是希望父级浮动.即使你这样做,你是否漂浮了父母的父母,等等?你必须浮动每个祖先元素吗?

解决方案2

给父母一个明确的高度.

<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)

优点:语义代码.
缺点:不灵活 - 如果内容更改或浏览器调整大小,布局将中断.

解决方案3

在父元素中添加"spacer"元素,如下所示:

<div>
  <div style="float: left;">Div 1</div>
  <div style="float: left;">Div 2</div>
  <div …
Run Code Online (Sandbox Code Playgroud)

html css layout css-float clearfix

988
推荐指数
10
解决办法
29万
查看次数

何时使用私有常量?

在以下情况下使用私有常量是否正确:

假设我有一个带有生命变量和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的建议,你可能想要从配置文件加载值?

coding-style const private constants

3
推荐指数
1
解决办法
3132
查看次数

JUST在捕获中"抛出"是否有益处?

与一位同事进行了一场激烈的辩论,讨论他在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会涉及什么样的开销(即你应该避免在紧密循环中尝试/捕获)?

.net c# vb.net

17
推荐指数
4
解决办法
1055
查看次数

并发编程c ++?

我一直听到关于并发编程的每一个地方.你们能否对它的内容有所了解以及c ++新标准如何促进这样做?

c++ concurrency c++11

46
推荐指数
5
解决办法
4万
查看次数

有没有办法使用jQuery的序列化表单字段并修剪字段中的值?

我有一个使用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)

forms jquery serialization trim

4
推荐指数
2
解决办法
2万
查看次数

在javascript中我们如何识别对象是Hash还是数组?

我的JSON调用的输出可以是数组或哈希.我该如何区分这两者?

javascript

71
推荐指数
4
解决办法
3万
查看次数

什么是正确的缓存信息?什么是好的页面加载时间?

我正在开发一个社交网站.

从项目的第一天开始考虑可扩展性,我已经很好地调整了网站和查询.

然而; 某些页面的数据量非常大,我不太确定它们是否加载速度尽可能快,所以我在考虑实现分布式缓存解决方案.

但不太确定我应该缓存什么而不是缓存.或者,如果当前页面加载时间为1秒是好还是坏.

最重要的查询是抓取会员信息,此查询获取所有会员的信息以及与他们相关的任何信息,例如在此网站的情况下他们的目标,博客类型条目,鼓励,照片,状态更新(如推特),博客信息(用于交叉输入他们的条目) )等

无论如何,我应该缓存这些信息吗?您是否认为1秒的加载时间相当快?有些页面在4-6个十分之一秒之间不到一秒钟.

asp.net-mvc caching social-networking

6
推荐指数
1
解决办法
1219
查看次数

C#ADO.NET:nulls和DbNull - 是否有更高效的语法?

我有一个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# null ado.net dbnull nullable

48
推荐指数
4
解决办法
3万
查看次数