小编Ryt*_*s I的帖子

Android setFocusArea和Auto Focus

我几天来一直在与这个功能作斗争......

看来,相机忽略了(?)我定义的焦点区域.以下是代码片段:

聚焦:

protected void focusOnTouch(MotionEvent event) {
    if (camera != null) {
        Rect rect = calculateFocusArea(event.getX(), event.getY());

        Parameters parameters = camera.getParameters();
        parameters.setFocusMode(Parameters.FOCUS_MODE_AUTO);
        parameters.setFocusAreas(Lists.newArrayList(new Camera.Area(rect, 500)));

        camera.setParameters(parameters);
        camera.autoFocus(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

重点区域计算:

private Rect calculateFocusArea(float x, float y) {
    int left = clamp(Float.valueOf((x / getSurfaceView().getWidth()) * 2000 - 1000).intValue(), focusAreaSize);
    int top = clamp(Float.valueOf((y / getSurfaceView().getHeight()) * 2000 - 1000).intValue(), focusAreaSize);

    return new Rect(left, top, left + focusAreaSize, top + focusAreaSize);
}
Run Code Online (Sandbox Code Playgroud)

几个日志事件来自 Camera.AutoFocusCallback#onAutoFocus

Log.d(TAG, String.format("Auto focus success=%s. Focus mode: '%s'. …

android android-camera

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

在JPanel中调用setEnabled(false)的原因

我现在工作摆了一段时间,但从来没有在实践中的情况时,我不得不打电话给setEnabled(false)JPanel.不过,我有时会在一些复杂的gui中看到这样的代码.但是我真的不为人们想要使用它而不为人所知?所以,请给我的现实生活中常见的情况下,一些例子,当你需要使用setEnabled(false)JPanel.

同样在javadoc中它说:

禁用组件不会禁用其子组件.

实际上我有一个错误,因为禁用表格在JPanel调整列大小时没有显示鼠标调整大小的光标.我怀疑这里还有其他令人不快的意外.

java swing jpanel

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

如何将 IntPtr 转换为数组?

如何将 转换IntPtr为数组。实际上我从非托管 dll 调用了该函数。它返回IntPtr。现在我需要将其转换为数组。请任何人给出一个想法。代码片段如下。

Unmanaged function declared

[DllImport("NLib.dll", CallingConvention = CallingConvention.Cdecl)]
public static extern unsafe IntPtr N_AllocPt1dArray(NL_INDEX n, ref stacks S); 
Run Code Online (Sandbox Code Playgroud)

调用函数

void Function1()
{
     IntPtr PPtr=N_AllocPt1dArray(n, ref S);
}
Run Code Online (Sandbox Code Playgroud)

现在我需要转换PPtr为数组(数组是demo[])。其中 demo 是由

public unsafe struct demo 
{            
    public int x ;
    public int y ;
    public int z ;
}demo DEMO;
Run Code Online (Sandbox Code Playgroud)

c#

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

使用foreach在c#中将一个数组的名称存储在另一个数组中

现在我有一个目录,其中包含名称格式为"EXT2-401-B-140422-1540-1542.mp4"的字符串文件,其中"140422"部分表示日期.现在假设这一堆文件的日期类似于140421,140422,140423 ......(每个日期都有几个文件).现在我将根据他们的日期对这些文件进行排序,所以我想知道如何获得这些名称(140421,140422等).我试过这样的:

directory = new DirectoryInfo(camera_dir);    
string[] date = new string[directory.GetFiles().Length];
foreach (FileInfo file in directory.GetFiles())
{ 
    foreach(string name in date)
    {
        name = file.Name.Substring(11, 6);
    }
}
Run Code Online (Sandbox Code Playgroud)

并且错误消息是我无法分配给名称.所以有人可以帮忙吗?

c#

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

标签 统计

c# ×2

android ×1

android-camera ×1

java ×1

jpanel ×1

swing ×1