是否有Cocoa Touch方式将颜色从一个颜色空间转换为另一个颜色空间?
在此代码的末尾:
UIColor *grey = [UIColor colorWithWhite: 0.5 alpha: 1.0];
CGColorRef greyRef = [grey CGColor];
int x = CGColorGetNumberOfComponents(greyRef);
Run Code Online (Sandbox Code Playgroud)
...... x是2.
我需要这个的原因是我正在尝试将颜色复制到颜色组件列表中CGGradientCreateWithColorComponents,这需要单个颜色空间中的所有颜色.问题是灰色是灰度色彩空间,而不是RGB色彩空间.(这个名字暂时让我失望,但这并不重要.)
CGGradientRef createGradient(NSInteger inCount, NSArray* inColors, CGFloat* inLocations) {
CGColorSpaceRef theColorspace = CGColorSpaceCreateDeviceRGB( );
size_t numberOfComponents = 4;
NSInteger colorSize = numberOfComponents * sizeof( CGFloat );
CGFloat *theComponents = malloc( inCount * colorSize );
CGFloat *temp = theComponents;
for ( NSInteger i = 0; i < inCount; i++ ) {
UIColor *theColor = [inColors objectAtIndex: …Run Code Online (Sandbox Code Playgroud) 我正在为日志做存档服务.由于某些文件是打开的并且在使用中,因此我不能将它们归档,直到它们不再使用.我可以弄清楚如何查看该文件是否由另一个进程打开的唯一方法是下面的代码.
我讨厌代码必须有更好的方法.有没有更好的办法?
try
{
using (FileStream stream = File.Open("SomeFile.txt", FileMode.Open, FileAccess.ReadWrite))
{
// Do nothing just seeing if I could open it.
return true;
}
}
catch (IOException)
{
// Exception so File is in use and can't open
return false;
}
Run Code Online (Sandbox Code Playgroud)
编辑: 请注意,我不想抓住异常.我宁愿完全避免这个例外.我宁愿有一些神奇的函数,例如IsFileInUser(string fileName),它会返回一个布尔值而不会在下面捕获异常.
我看到的一种方法是使用PInvoke的OpenFile.
我正在使用ExtJS 2.2.1
在我的网络应用程序中,我曾经有一个带有单根的TreePanel,如下所示:
`
|- Colors
|- Blue
|- Red
|- Yellow
Run Code Online (Sandbox Code Playgroud)
现在我已经意识到顶级节点没有意义,我想删除它并促进其子节点:
`
|- Blue
|- Red
|- Yellow
Run Code Online (Sandbox Code Playgroud)
问题是,根据文档,TreePanel必须始终具有单个根.
如何创建具有多个节点的TreePanel?
这是我创建树的当前代码:
var tree = new Ext.tree.TreePanel({
animate:true,
enableDD:false,
loader: new Ext.tree.TreeLoader({
dataUrl: 'colors.json'
}),
lines: true,
selModel: new Ext.tree.MultiSelectionModel(),
containerScroll: true,
autoScroll: true,
height: 100,
width: 280,
rootVisible: true,
root: new Ext.tree.AsyncTreeNode({
text: 'Colors',
hasChildren:true,
id: 1
}),
el: 'tree'
});
Run Code Online (Sandbox Code Playgroud) 在下面的代码中,我得到一个编译时错误:
ByRef Argument type mismatch.
Run Code Online (Sandbox Code Playgroud)
但是,如果我将i,j的声明更改为:
Dim i As Integer
Dim j As Integer
Run Code Online (Sandbox Code Playgroud)
错误消失了.为什么?
Private Sub Command2_Click()
Dim i, j As Integer
i = 5
j = 7
Call Swap(i, j)
End Sub
Public Sub Swap(ByRef X As Integer, ByRef Y As Integer)
Dim tmp As Integer
tmp = X
X = Y
Y = tmp
End Sub
Run Code Online (Sandbox Code Playgroud) 我在C++/Unix开发方面有5年以上的背景.我一直在尝试基于C#/ .Net/WPF的软件开发一段时间了.我正处于一个可以流利地编写有用的应用程序的阶段,但我不确定如何将我的技能提升到一个新的水平.
所以,我向大家提出的问题,特别是那些在C#/.Net/WPF方面经验丰富的人:
该平台上的专家开发人员应具备的组件技能和知识是什么?
你期望哪位技术专家可以阅读专家?
我可以采取哪些其他有意识的步骤来使用C#/ .Net/WPF真正擅长应用程序开发?
提前谢谢了!我将特别感谢全面的答案 - 我很确定许多其他开发人员也有类似的问题.
我正试图让jQuery风格的函数链接在我的脑海中.我的意思是:
var e = f1('test').f2().f3();
Run Code Online (Sandbox Code Playgroud)
我有一个例子可以工作,而另一个没有.我会发布以下内容.我总是想学习第一个原理的基本原理,以便我可以在它之上构建.到目前为止,我对链接的工作方式只有一个粗略而宽松的理解,而且我遇到了一些我无法智能排除故障的错误.
我知道的:
这个例子有效:
var one = function(num){
this.oldnum = num;
this.add = function(){
this.oldnum++;
return this;
}
if(this instanceof one){
return this.one;
}else{
return new one(num);
}
}
var test = one(1).add().add();
Run Code Online (Sandbox Code Playgroud)
但是这个没有:
var gmap = function(){
this.add = function(){
alert('add');
return this;
}
if(this instanceof gmap) {
return this.gmap;
} else{
return new gmap();
}
}
var test = gmap.add();
Run Code Online (Sandbox Code Playgroud) 通常在C或C++程序中,通常有一个主循环/函数int main ().我可以在android Java开发中使用类似的功能吗?
我有一个表存储为字符串的列,但它实际上是这样的数字:
17 - Doe
2 - Mike
3 - James
Run Code Online (Sandbox Code Playgroud)
我需要对它们进行排序并创建如下输出:
2 - Mike
3 - James
17 - Doe
Run Code Online (Sandbox Code Playgroud)
如何编写SQL?提前致谢!
由于TCP保证了数据包传输,因此可以被认为是"可靠的",而UDP不保证任何东西,数据包可能会丢失.在应用程序中而不是在TCP流上使用UDP传输数据有什么好处?在什么样的情况下,UDP是更好的选择,为什么?
我假设UDP更快,因为它没有创建和维护流的开销,但如果某些数据永远不会到达目的地那么这不是无关紧要的吗?
.net ×2
c# ×2
android ×1
cgcolor ×1
cgcolorspace ×1
chaining ×1
estimation ×1
extjs ×1
file-io ×1
iphone ×1
java ×1
javascript ×1
methods ×1
networking ×1
sql ×1
sql-server ×1
tcp ×1
udp ×1
uicolor ×1
vb6 ×1
wpf ×1