我想做的是使用一些过程来改变位图图像的内容(尺寸和其他所有内容保持不变)。当我运行一个进程来对其执行转换时,我想同时将图像流式传输到我的屏幕上。所以它基本上是没有一系列图像的视频,而是处于不同转换阶段的同一图像。我尝试这样做是因为我想要执行此操作的位图很大,因此实际上将每个状态保存为其自己的图像,然后由于内存限制而无法进行组合。
我的问题是关于“实时图像显示”,而另一个进程修改图像,有没有什么方法可以用位图图像来完成这样的事情?
我对 C++ 很陌生,我曾尝试寻找这个问题的答案并运行测试,但很多时候我无法弄清楚是什么导致了特定行为。我的问题与使用嵌套[ ]运算符访问或修改循环中的元素有关 - 例如:
//Declare
std::vector<int> a1 {10,20,30,40} ;
std::vector<int> a2 {2,3} ;
int S2 = a2.size() ;
//Loop
for(int i = 0 ; i < S2 ; i++){
a1[a2[i]] = a1[a2[i]] + 5000 ;
}
Run Code Online (Sandbox Code Playgroud)
这被认为可以吗?我不仅要问一般做法,还要问效率和我需要考虑的任何其他潜在因素。我是否应该首先存储a[i]在循环内的临时变量中,然后使用它来修改 vector 中的元素a2?
我确实知道它可能不是最好的结构,我应该使用其他一些数据结构来做这种事情,但我只想了解这是否可以或者是否可能导致一些未定义的行为。