GVKun编程网logo

可可 – 如何给NSWindow一个特定的背景颜色(ns背景自定义)

5

这篇文章主要围绕可可–如何给NSWindow一个特定的背景颜色和ns背景自定义展开,旨在为您提供一份详细的参考资料。我们将全面介绍可可–如何给NSWindow一个特定的背景颜色的优缺点,解答ns背景自

这篇文章主要围绕可可 – 如何给NSWindow一个特定的背景颜色ns背景自定义展开,旨在为您提供一份详细的参考资料。我们将全面介绍可可 – 如何给NSWindow一个特定的背景颜色的优缺点,解答ns背景自定义的相关问题,同时也会为您带来actionscript-3 – 如何获取加载的swf文件的背景颜色?、c# – 如何更改Windows Phone应用程序中按钮的背景颜色?、C++实现修改windows窗体背景颜色小工具、css – HTML5视频背景颜色不匹配网站的背景颜色 – 有些浏览器有时的实用方法。

本文目录一览:

可可 – 如何给NSWindow一个特定的背景颜色(ns背景自定义)

可可 – 如何给NSWindow一个特定的背景颜色(ns背景自定义)

我正在编写一个可用的应用程序,它有一个NSWindow.我想将窗口的背景颜色更改为特定的颜色.但是,检查器中的窗口属性仅提供“纹理窗口”替代.如何根据需要制作窗口的颜色?

解决方法

尝试使用窗口实例上的颜色调用实例方法setBackgroundColor:.什么名字..)

喜欢这个:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    // Option 1
    [self.window setBackgroundColor: NSColor.whiteColor];
    // Option 2 - using dot Syntax
    self.window.backgroundColor = NSColor.whiteColor;
}

actionscript-3 – 如何获取加载的swf文件的背景颜色?

actionscript-3 – 如何获取加载的swf文件的背景颜色?

我正在使用URLLoader将swf文件加载到我的主应用程序中,我想获取加载的swf文件的背景颜色. (我听说一个解决方案是读取加载的swf的字节码)

解决方法

是的,您需要查看二进制swf数据. Here是swf格式的简要说明. this是关于不同类型标签的一些细节.您的要求是找出SetBackgroundColor标记(标记类型= 9),它通常是swf的第一个或第二个标记. swf文件中的字节遵循小端序,因此在读取数据时需要小心.并且大多数它们将被压缩(前三个字节将是“CWS”)所以从第9个字节开始(包括第9个),​​所有数据需要在处理之前解压缩(ByteArray.decompress).一些示例代码:)

package {
  import flash.display.*;
  import flash.events.*;
  import flash.net.*;
  import flash.utils.*;
  public class Test1 extends Sprite{
    private var stream:URLStream;
    public function Test1():void {
      stream = new URLStream();
      stream.load(new URLRequest("some.swf"));
      stream.addEventListener(Event.COMPLETE,onComplete);
    }
    private function onComplete(e:Event):void {
      var bytes:ByteArray = new ByteArray();
      bytes.endian = Endian.LITTLE_ENDIAN;
      stream.readBytes(bytes,8);
      var sig:String = bytes.readUTFBytes(3);
      trace("SIG = " + sig);
      trace("ver = " + bytes.readByte());
      trace("size = " + bytes.readUnsignedInt());
      var compBytes:ByteArray = new ByteArray();
      compBytes.endian = Endian.LITTLE_ENDIAN;
      stream.readBytes(compBytes);
      if (sig == "CWS") {
        compBytes.uncompress();
      }
      var fbyte = compBytes.readUnsignedByte();
      var rect_bitlength = fbyte >> 3;
      var total_bits = rect_bitlength * 4;
      var next_bytes =  Math.ceil((total_bits - 3)/ 8);
      for(var i=0; i<next_bytes; i++) {
        compBytes.readUnsignedByte();
      }
      trace("frameRate = " + compBytes.readUnsignedShort());
      trace("frameCount = " + compBytes.readUnsignedShort());

  while(true) {
    var tagcodelen:Number = compBytes.readUnsignedShort();
    var tagcode:Number = tagcodelen >> 6;
    var taglen:Number = tagcodelen & 0x3F;
    trace("tag code = " + tagcode + "\tlen = " + taglen);
    if (taglen >=63) {
      taglen = compBytes.readUnsignedInt();
    }
    if(tagcode == 9) {
      trace("found background color");
      trace("color is: RED=" + compBytes.readUnsignedByte() +",GREEN = " + compBytes.readUnsignedByte() + ",BLUE = " + compBytes.readUnsignedByte());
      break;
    }
    compBytes.readBytes(new ByteArray(),taglen);
    //break;
  }
}

}}

while(true) { var tagcodelen:Number = compBytes.readUnsignedShort(); var tagcode:Number = tagcodelen >> 6; var taglen:Number = tagcodelen & 0x3F; trace("tag code = " + tagcode + "\tlen = " + taglen); if (taglen >=63) { taglen = compBytes.readUnsignedInt(); } if(tagcode == 9) { trace("found background color"); trace("color is: RED=" + compBytes.readUnsignedByte() +",taglen); //break; } }

c# – 如何更改Windows Phone应用程序中按钮的背景颜色?

c# – 如何更改Windows Phone应用程序中按钮的背景颜色?

我正在用C#开发 Windows Phone 7应用程序. silverlight 4.我是银光的新手.我的应用程序中有两个按钮用于不同的目的.我想在单击按钮时动态更改按钮的颜色.所以我使用以下代码

IncomeButton.Background = new SolidColorBrush(Colors.Red);

但它没有用.能否请您提供我可以解决上述问题的任何代码或链接?如果我做错了什么,请指导我.

解决方法

从它自己的点击事件改变按钮的样式带有一个捕获.彼得在这里详述.

Why can’t I change the Background of my Button on a Click event? – Peter Torr’s Blog

C++实现修改windows窗体背景颜色小工具

C++实现修改windows窗体背景颜色小工具

C++实现修改windows窗体背景颜色小工具

C++实现修改windows窗体背景颜色小工具。

主要思路是:

  1. 修改widows注册表,将window窗体背景色修改为淡绿色("199 237 204")。
  2. 刷新windows窗体,让刷新窗体背景色当即生效。

示例如下:

  1. 程序入口点代码

    ```c++
    // 01_backgroundcolorregchangeTest.cpp : 定义控制台应用程序的入口点。
    //

    #include "stdafx.h"
    #include <iostream>
    #include <Windows.h>
    #include <tchar.h>
    using namespace std;



    TCHAR g_tszRegCareValue[2][16] = {_T("255 255 255"), _T("199 237 204")}; //注册表默认值 保护色值
    DWORD g_szdwColors[2] = {RGB(255, 255, 255), RGB(199, 237, 204)}; //颜色 白色和 豆沙绿
    int g_iElements[1] = {COLOR_WINDOW}; //修改颜色的类型 这里是窗口

    void CreateReg(HKEY Root,LPCTSTR szSubKey,LPCTSTR valueName,LPCTSTR RegValueBuffer) //修改注册表键值
    {
    HKEY key;
    //long Ret=RegCreateKeyEx(Root, (LPCTSTR)szSubKey,0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&key,NULL);
    //cout<<Ret<<endl;
    //打开注册表某一路径
    long Ret = RegOpenKeyEx(Root, szSubKey, 0, KEY_ALL_ACCESS, &key);
    cout<<Ret<<endl;
    //使用Cstring和char[]会乱码,这里写入键值必须使用LPCTSTR类型
    //修改打开注册表路径下某个键值
    Ret=RegSetValueEx(key, valueName, 0, REG_SZ, (CONST BYTE)RegValueBuffer, (lstrlen(RegValueBuffer) + 1)sizeof(TCHAR));
    cout<<Ret<<endl;
    if(Ret!=ERROR_SUCCESS)
    {
    cout<<"error!"<<endl;
    }
    RegCloseKey(key);
    }
















    //刷新窗口 当即生效
    void UpdateWindowColor(const DWORD *pdwInColor)
    {
    SetSysColors(1, &g_iElements[0], pdwInColor);
    }



    //设置windows窗口背景色
    void SetWindowBackgroundColor()
    {
    //设置windows窗口背景色对应注册表的路径
    LPCTSTR baseKey = _T("Control Panel\Colors");
    LPCTSTR subKey = _T("Window");
    //判断是否修改背景颜色
    DWORD dwCurrentColors[1];
    dwCurrentColors[0] = GetSysColor(g_iElements[0]);
    if (0x00ffffff == dwCurrentColors[0])
    {
    CreateReg(HKEY_CURRENT_USER, baseKey, subKey, g_tszRegCareValue[1]);
    //刷新窗口立即生效
    UpdateWindowColor(&g_szdwColors[1]);
    } else {
    CreateReg(HKEY_CURRENT_USER, baseKey, subKey, g_tszRegCareValue[0]);
    //刷新窗口立即生效
    UpdateWindowColor(&g_szdwColors[0]);
    }
    }


















    int _tmain(int argc, _TCHAR* argv[])
    {
    SetWindowBackgroundColor();
    return 0;
    }



  2. 注意立即刷新windows窗体,经过查找使用SetSysColors函数

    ```c++
    //刷新窗口 当即生效
    void UpdateWindowColor(const DWORD *pdwInColor)
    {
    SetSysColors(1, &g_iElements[0], pdwInColor);
    }




  3. 修改windows注册表函数

    ```c++
    //修改windows注册表函数
    void CreateReg(HKEY Root,LPCTSTR szSubKey,LPCTSTR valueName,LPCTSTR RegValueBuffer) //修改注册表键值
    {
    HKEY key;
    //long Ret=RegCreateKeyEx(Root, (LPCTSTR)szSubKey,0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&key,NULL);
    //cout<<Ret<<endl;
    //打开注册表某一路径
    long Ret = RegOpenKeyEx(Root, szSubKey, 0, KEY_ALL_ACCESS, &key);
    cout<<Ret<<endl;
    //使用Cstring和char[]会乱码,这里写入键值必须使用LPCTSTR类型
    //修改打开注册表路径下某个键值
    Ret=RegSetValueEx(key, valueName, 0, REG_SZ, (CONST BYTE)RegValueBuffer, (lstrlen(RegValueBuffer) + 1)sizeof(TCHAR));
    cout<<Ret<<endl;
    if(Ret!=ERROR_SUCCESS)
    {
    cout<<"error!"<<endl;
    }
    RegCloseKey(key);
    }


















  4. 参考意见和网页地址:

    1. 修改window窗体背景色最佳配色("199 237 204")。
    2. 重启explorer进程,可以但是还需要重启,我们的目的是不重启也生效。
    3. 采用SendMessageTimeout函数发送广播消息,这个方法行不通。
    4. 采用SHChangeNotify函数,这个方法行不通。
    5. https://www.cnblogs.com/happyhaoyun/p/4566783.html
    6. <http://blog.csdn.net/openhero/article/details/8159471>;
    7. <http://www.cplusplus.com/forum/windows/116006/>;

css – HTML5视频背景颜色不匹配网站的背景颜色 – 有些浏览器有时

css – HTML5视频背景颜色不匹配网站的背景颜色 – 有些浏览器有时

我有一个视频,客户想要“无缝地”坐在网站上.视频背景的HEX颜色与网站的HEX背景颜色相匹配,并在某些浏览器中呈现一些版本,有些时候?

最令人好奇的是,Chrome会以不同的方式渲染视频的背景,直到打开颜色选择器.然后他们突然相配.要清楚,一旦我打开颜色选择器,而不是调试器(只读:这不是重画的问题),它只会修复它.

当我第一次浏览网站时,Firefox会呈现不同的方式,但是如果我按下cmd r,就会变得完美无缝.

看看屏幕截图 – 他们说的话比我说的更多.

我正在说服客户改变为视频的白色背景,因为这肯定会“修复”,但是对于什么/为什么会发生这种情况,我非常好奇.

你的任何见解向导呢?

Codepen:http://codepen.io/anon/pen/zrJVpX

<div>
<div>
    <video id="video" poster="" width="90%" height="auto" preload="" controls>
      <source id="mp4" src="http://bigtomorrowdev.wpengine.com/wp-content/themes/bigtomorrow/images/videos/bt-process.mp4" type="video/mp4">
      <source id="webm" src="http://bigtomorrowdev.wpengine.com/wp-content/themes/bigtomorrow/images/videos/bt-process.webm" type="video/webm">
      <source id="ogg" src="http://bigtomorrowdev.wpengine.com/wp-content/themes/bigtomorrow/images/videos/bt-process.ogv" type="video/ogg">
      We're sorry. This video is unable to be played on your browser.
      </video>
    </div>
</div>

解决方法

浏览器如何渲染视频可能是根本的,而不是简单的CSS / HTML修复.您的问题听起来类似于 this question.我认为答案在于渲染引擎和颜色空间差异的组合,这可能意味着没有很好的方法可以在浏览器之间进行修复.

在firefox上,您可以尝试使用颜色管理设置来查看是否改变了行为.这不会解决问题,但它可以帮助解释它.在URL /搜索栏中输入“about:config”.它应该带你到一个选项页面.另一个搜索栏会显示在页面中,输入“gfx.color_management.mode”.该选项可以取值0,1,2.尝试切换它们并重新加载页面(可能需要重新启动Firefox),看看是否可以获得一致的区别.如果颜色不是首先被管理,这可能不会有什么区别.

同样,您可以尝试在Chrome中禁用硬件加速视频解码.在chrome URL /搜索栏中输入“chrome:// flags”,然后找到“禁用硬件加速视频解码”标志.更改任何值,重新启动chrome,然后再次检查颜色.

这两个都不是我意识到的解决方案,这可能会更好地作为一个评论,但我没有这个代表.

我们今天的关于可可 – 如何给NSWindow一个特定的背景颜色ns背景自定义的分享已经告一段落,感谢您的关注,如果您想了解更多关于actionscript-3 – 如何获取加载的swf文件的背景颜色?、c# – 如何更改Windows Phone应用程序中按钮的背景颜色?、C++实现修改windows窗体背景颜色小工具、css – HTML5视频背景颜色不匹配网站的背景颜色 – 有些浏览器有时的相关信息,请在本站查询。

本文标签: