小编Vin*_*rya的帖子

绑定到静态类属性

我想将文本块文本绑定到静态类的属性.只要静态类的属性值发生更改,它就应该反映到另一个窗口或自定义控件上的文本块.

c# wpf binding textblock

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

在运行时从代码文件执行c#代码

我有一个包含按钮的WPF C#应用程序.

按钮单击的代码写在单独的文本文件中,该文件将放在应用程序运行时目录中.

我想在单击按钮时执行放置在文本文件中的代码.

知道怎么做吗?

.net c# runtime csharpcodeprovider

45
推荐指数
3
解决办法
6万
查看次数

在java中将数组拆分为两个部分,而不是for循环

我有一个300000的数组,我希望它将它分成两个相等的部分.有没有什么方法可以用来实现这个目标?

它会比for-loop操作更快还是会对性能没有影响?

java arrays

38
推荐指数
3
解决办法
12万
查看次数

Android byte []在Camera.onPreviewFrame中成像

当试图转换byte[]Camera.onPreviewFrameBitampBitmapFactory.decodeByteArray给我一个错误SkImageDecoder::Factory returned null

以下是我的代码:

public void onPreviewFrame(byte[] data, Camera camera) {
    Bitmap bmp=BitmapFactory.decodeByteArray(data, 0, data.length);
}
Run Code Online (Sandbox Code Playgroud)

android byte image decoding

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

将WriteableBitmap像素格式转换为c#wpf中的Bgra32

我有一个WriteableBitmap从文件加载位图图像(主要是bmp).我使用的位图文件有不同的像素格式,如Indexed8,Bgra32等.问题是我的代码仅适用于bgra32像素格式.所以我需要帮助将位图转换为c#wpf中的Bgra32像素格式.

谢谢

c# wpf image-processing

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

Android MediaRecorder setOutPutFile()使用Socket进行流式传输

我正在开发一个Android应用程序,应该能够将视频流式传输到我的网络上的本地服务器,而无需将其存储在SD卡上.

为此,我在C#中使用了一个简单的套接字应用程序来监听特定的IP:PORT

在Android部分,我设置了setOutputFile()这个IP:PORT使用套接字.

此应用程序在Android手机上完美启动,但它不显示预览,当我开始录制时,它会毫无例外地退出.它也不会向网络发送任何数据流.

当我设置setOutPutFile()为SD卡时,它可以正常工作并录制视频.

对于服务器部分,当我从任何其他应用程序(从PC)向同一IP:PORT发送数据时,它会接收数据.

简而言之,我想使用socket进行流媒体建立PC和Android之间的通信通道.

这是我的Android代码:

 Socket soc=new Socket("192.168.1.3",8210);
 ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(soc);
 ...
 ...
 // other Recorder setup steps
 ...
 ...
 Recorder.setOutputFile(pfd.getFileDescriptor()); // working fine for sdcard
 Recorder.setPreviewDisplay(holder.getSurface());
 Recorder.prepare();
Run Code Online (Sandbox Code Playgroud)

这是我在C#中的服务器应用程序并在PC上运行:

 socketForServer = new TcpClient("192.168.1.3", 8210);
 NetworkStream networkStream = socketForServer.GetStream();
 byte[] rData = new byte[1024];
 networkStream.Read(rData, 0, 1024);
 ...
 ...
 // process rData
 ...
 ...
Run Code Online (Sandbox Code Playgroud)

我无法理解这里发生的问题.我正朝着正确的方向前进吗?

android video-streaming android-camera

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

按名称在Windows窗体中查找控件

我正在开发一个应用程序,它在运行时从XML文件添加对象(基本上是Windows窗体控件).应用程序需要访问已添加的对象.

对象将添加到面板或组框中.对于面板和组框,我有Panel.Controls ["object_name"]来访问对象.这仅在将对象直接添加到同一面板上时才有用.在我的情况下,主面板[pnlMain,我只能访问此面板]可能包含另一个面板,此面板[pnlChild]再次包含一个groupbox [gbPnlChild],groupbox包含一个按钮[button1,我想访问此按钮] .我有以下方法:

Panel childPanel = pnlMain.Controls["pnlChild"];
GroupBox childGP = childPanel.Controls["gbPnlChild"];
Button buttonToAccess = childGP["button1"];
Run Code Online (Sandbox Code Playgroud)

当父母知道时,上述方法很有用.在我的场景中,只知道要访问的对象的名称[button1]而不是其父对象.那么如何通过名称访问此对象,与其父对象无关?

是否有像GetObject("objName")或类似的方法?

c# controls winforms

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

从c#中的byte []创建映像时参数无效错误

我试图将a转换byte[]Bitmapc#.以下是代码:

MemoryStream ms = new MemoryStream(b);
Bitmap bmp = new Bitmap(ms);
Run Code Online (Sandbox Code Playgroud)

Parameter is not valid在创建时显示错误Bitmap.

byte[] b 来自网络流.

但是当我将这个byte []写入文件时,在任何图像查看器中打开此文件都可以完美地运行.以下是将byte []写入文件的代码:

 var fs = new BinaryWriter(new FileStream("tmp.bmp", FileMode.Create, FileAccess.Write));
 fs.Write(b);
 fs.Close();
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

编辑

这是我的完整代码导致问题

 Socket s = listener.AcceptSocket();
 byte[] b = new byte[imgLen];
 s.Receive(b);
 MemoryStream ms = new MemoryStream(b);
 // now here I am using ms.Seek(0, SeekOrigin.Begin); that fixed my problem.
 Bitmap bmp = new Bitmap(ms);
 pictureBox1.Image = bmp;
 s.Close();
Run Code Online (Sandbox Code Playgroud)

我在Form_Load …

c# image

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

在WPF Canvas上实现更快的图形操作

我试图在WPF C#中构建一个简单的图形应用程序.目的是绘制10000*10000个矩形,每个矩形的大小为4个像素.

我修改了画布的OnRender方法来绘制矩形.对较少数量的矩形(比如每个4个像素的50*50或100*100矩形)执行绘图,但是当我增加no时它会减慢.矩形

以下是我的代码:

  protected override void OnRender(DrawingContext dc)
    {
        base.OnRender(dc);

        FillCells(dc);

        if (_ShowGrids)
        {
            DrawGrid(dc); // draw grid lines
        }
    }
 void FillCells(DrawingContext dc)
    {

        int cellSize=4;

        for (int i = 0; i < MaxRow; i++)
        {
            for (int j = 0; j < MaxColumn; j++)
            {
                dc.DrawRectangle(GetRectBrush(i,j), GetRectPen(i,j), new Rect(j * cellSize , i * cellSize , cellSize - 1, cellSize - 1));

            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

上面的代码需要一分多钟才能绘制1000*1000个矩形.

有没有什么方法可以让这个过程更快?还有什么我可以用来代替这个吗?

谢谢.

c# wpf drawing canvas

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

在android中读取EditText的文本

我正在写一个简单的Android应用程序,它有一个edittext和一个按钮.单击按钮应显示一个警告对话框,其中包含在edittext中输入的文本.为此,我有以下代码:

String txt; 
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button b=(Button)findViewById(R.id.ok);

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Text in edit box: " + txt)
        .setCancelable(false)
        .setTitle("Info")
        .setPositiveButton("Done", new DialogInterface.OnClickListener() {
             public void onClick(DialogInterface dialog, int id) {}
    });

    final AlertDialog alert = builder.create();

    // set click listener on the flag to show the dialog box 
    b.setOnClickListener(new View.OnClickListener() {
       public void onClick(View v) {
          EditText et=(EditText)findViewById(R.id.entry);
          txt=et.getText().toString();
          alert.show();
       }
    });

}
Run Code Online (Sandbox Code Playgroud)

上面的代码运行正常,但警告对话框显示 …

android

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