小编sam*_*fer的帖子

如何在iOS中发布CGImageRef

我正在编写这种方法来计算图像的平均R,G,B值.以下方法将UIImage作为输入,并返回包含输入图像的R,G,B值的数组.我有一个问题:如何/我在哪里正确发布CGImageRef?

-(NSArray *)getAverageRGBValuesFromImage:(UIImage *)image
{
    CGImageRef rawImageRef = [image CGImage];

    //This function returns the raw pixel values
    const UInt8 *rawPixelData = CFDataGetBytePtr(CGDataProviderCopyData(CGImageGetDataProvider(rawImageRef)));

    NSUInteger imageHeight = CGImageGetHeight(rawImageRef);
    NSUInteger imageWidth = CGImageGetWidth(rawImageRef);

    //Here I sort the R,G,B, values and get the average over the whole image
    int i = 0;
    unsigned int red = 0;
    unsigned int green = 0;
    unsigned int blue = 0;

    for (int column = 0; column< imageWidth; column++)
    {
        int r_temp = 0;
        int g_temp = 0; …
Run Code Online (Sandbox Code Playgroud)

memory-leaks memory-management ios cgimageref

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

floor()和ceil()函数vs在C中转换为整数

我正在编写一些C代码,以反复将浮点数向上和向下舍入为整数值.标准C数学库包括函数floor()ceil().我注意到函数的更快实现是直接转换为整数:

int up, down;
float test = 1.3548;

up = (int)(test + 1);  //ceil()
down  = (int)test;     //floor()
Run Code Online (Sandbox Code Playgroud)

我做了一个快速检查,这似乎工作正常.

  1. 如果我需要将结果作为整数作为数组索引(即它总是返回正确的结果),这是一个可靠的上下舍入方法吗?
  2. 是否有充分理由显着提高速度?(在我的系统上运行速度比math.h实现快3倍)

c casting floor ceil

7
推荐指数
1
解决办法
4472
查看次数

创建一个空的NSArray

在CI中可以简单地声明一个这样的数组:

int array[500]; 
Run Code Online (Sandbox Code Playgroud)

声明一个大小为500的数组,然后可以在以后填充.是否有可能在NSArray中做同样的事情?我理解NSMutableArray有一个arrayWithCapacity类方法来"创建"和空数组(或至少声明稍后要填充的数组).有没有办法为NSArray做类似的事情,因为我知道我希望稍后在"for"循环中填写内容的数组的确切大小.

谢谢

arrays initialization declaration nsmutablearray nsarray

5
推荐指数
1
解决办法
5185
查看次数

使用连字符/破折号比较两个 Python 字符串

我试图与 Python 中的字符串进行比较,并注意到当字符串中存在破折号/连字符时,它不会等同于相同的字符串。例如:

>>>teststring = 'newstring'
>>>teststring is 'newstring'
True
Run Code Online (Sandbox Code Playgroud)

然后,如果我添加一个破折号

>>>teststring = 'new-string'
>>>teststring is 'new-string'
False
Run Code Online (Sandbox Code Playgroud)

为什么会出现这种情况?将字符串与破折号进行比较的最佳方法是什么?

python string special-characters python-2.7

5
推荐指数
1
解决办法
2556
查看次数

numpy.savetxt()输出非常大的文件

我使用numpy.savetxt()将一个numpy数组写入csv文件,但生成的文件非常大.例如,如果我创建一个零数组:

import numpy

test = numpy.zeros((10000,10000), dtype=numpy.float32)
numpy.savetxt('C:/datatest.csv',test,delimiter=',')
Run Code Online (Sandbox Code Playgroud)

我希望该文件大约10,000*10,000*4字节(400 MB).(这也是test.nbytes回报).但是,该文件大2.3 GB.是否有大文件大小的原因?我查看了numpy文档,在写入文件时似乎没有办法指定变量类型.我尝试了其他文件类型/分隔符,但得到了相同的结果.

python arrays file-io numpy

4
推荐指数
1
解决办法
2488
查看次数

修改"text"输入的"value"属性不能使用JavaScript

我有一个关于文本输入字段的问题,其值由JavaScript函数修改.这是我的代码的简化片段:

<!doctype html>
<html>
    <meta charset="utf-8">
    <head>
        <title>Test Page</title>
        <script>
            function runScript()
            {
                document.getElementById("result").innerHTML = "Changing Text Input Value to Name 2";
                document.getElementById("name_input0").value = "Name 2";
                document.getElementById("name_hidden0").value = "Name 2";
            }
        </script>
    </head>
    <body>
    <input type="hidden" id="name_hidden0" value="Name 1"/>
    <input type="text" name="name_enter0" id="name_input0" value="Name 1"/>
    <input type="button" value="Run Script" onClick="runScript()"/>
    <div id="result"></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

页面加载时,文本和隐藏输入都填充值"名称1".单击按钮时,页面如下所示:

运行JavaScript后的页面视图

但是,如果我使用开发者工具(我尝试使用Firefox和Chrome)查看源代码并查看HTML代码,我会看到以下内容:

运行JavaScript后的基础HTML

为什么文本输入字段的"value"属性在底层HTML中没有改变,但隐藏的输入"value"呢?

html javascript dom textbox

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

为什么sys.getsizeof()不在Python中的file.read([size])中返回[size]

我有一个大型的二进制文件,我想读入并使用struct.unpack()解压缩该文件包含多个行,每行长2957个字节.我使用以下代码读入文件:

with open("bin_file", "rb") as f:
    line = f.read(2957)
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么,尺寸返回:

import sys
sys.getsizeof(line)
Run Code Online (Sandbox Code Playgroud)

不等于2957(在我的情况下是2978)?

python string file-io

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