色彩设计思路 [包装装潢图案色彩处理软件设计思路研究]

  摘 要:在竞争日趋激烈的商品经济浪潮中,包装产品的色彩构成日益成为左右商品销售的重要因素,因而包装装潢图案的色彩处理引起了社会的广泛关注。为此,对包装装潢图案色彩处理软件设计思路进行了探讨,以期使其在包装装潢的设计过程中发挥应有的作用,就具有重要的现实意义。
  关键词:软件 设计思路 包装装潢
  
  一、整体设计思路
  
  为实现我们所需的软件,就要对软件设计有一个整体构思,结合包装装潢图案的特点,仔细分析每一部分之间的相互关系,以达到满意的设计效果。本文的软件设计分为以下几个部分:
  首先,打开一幅真彩色位图,通过在RGB颜色空间中单独或同时调节R、G、B的值,得到变换后的图像,并予以保存。
  其次,利用RGB和CMYK颜色空间的数学转换关系,设计出相关算法,通过单独或同时调节C、M、Y、K的值,得到变换后的图像,并保存之。
  第三,设计出HSV颜色空间和RGB空间之间的转换算法,通过单独或同时调节H、S、V的值,改变图像色彩的搭配效果,并保存变换后的图像。
  第四,通过连续调节图像中每一像素点的R、G、B值,产生出颜色渐变效果,捕捉到最佳的色彩搭配,并保存捕捉到的图像。
  第五,结合色彩处理其他方面的应用,建立一个友好的人机界面,使包装产品设计人员方便使用。
  
  二、常用菜单及对话框
  
  以下是该软件中设计的一些操作功能,如果单从图1和图2的菜单来看,程序功能略显简单,但是该软件主要的功能集中在图3对话框上,从对话框中可以看出,该软件可利用滑块控件调节R、G、B的分量值,同时在编辑框中显示器调整的具体大小,还可进行微调,有助于包装装潢图案设计人员定量的控制图像色彩的变化效果。
  
  
  三、具体算法设计
  
  (一)通过设计的CDib类,打开一幅真彩色位图。
  (二)利用Save()函数保存一幅真彩色位图,其代码如下:
  BOOL CDib::Save( )const
   {
  CFileDialogdlg(FALSE, ″bmp″);//存文件对话框
  if(d1g.DoModal()= =IDOK){
  CString str=d1g.GetFileName( );
   //获得用户提供的文件名
  GFilefile(str, CFile :: modeCreate|CFile::modeWrite|
  CFile:: aypeBinary);
   return Save(file);//调用Save(CFile&)存盘
   }
   return FALSE;
   }
  (三)利用ColorAdjust( )函数,通过调节R、G、B的分量值,进行图像变换,其代码如下:
  BOOL CDib::ColorAdjust(int rRate, int gRate, int bRate)
  {
  if(!m}BMI&&NumColors( )!=0)
   //若位图不存在或不是真彩色则返回FALSE
  return FALSE;
  RGBTRIPLE* pCol;
  int x, y, width=Width(), height=Height( );
  for(y=0;yrgbtRed=EVALUATE(pCol->rgbtRed,rRate);
  pCol->rgbtGreen=EVALUATE(pCol->rgbtGreen,gRate);
  pCol ->rgbtBlue =EVALUATE(pCol->rgbtBlue,bRate);
  pC.ol++;
  return TRUE;
   {
   {
  (四)创建ColorShade( )函数,通过依次调节R, G, B的分量值,形成图像中颜色的渐变效果,便于设计人员调整颜色的最佳搭配。其代码如下:
  BOOL CDib::ColorShade(int x, int y)
  {
   if(!m-pBMI&&NumColors!=0)
  //若位图不存在或不是真彩色则返回FALSE
  return FALSE;
  RGBTRIPLE*pGol;
  pCol=(RGBTRIPLE*)(m-pBits+m-SLength*Y);
  // pCol指向第Y条扫描线
  pCol[x].rgbtRed++;
  pCol[x].rgbtGreen++;
  pCol[x].rgbtBlue++;
   return TRUE;
  }
  该函数中,x、y分别代表图像中像素的水平和垂直坐标。可以看出,该函数每调用一次就将给定位置的R、G、B值加1,这样就产生了颜色的渐变效果。一般来说,软件开发人员都是使用多线程技术达到这一效果,然而,本课题中反其道而行之,采用了单线程技术,主要基于以下考虑:尽管通过多线程可以带来很多好处,比如给软件开发人员带来很大的灵活性、应用程序可以更充分利用CPU,但如果线程开得太多,系统就会增加许多额外开销。这样许多宝贵的CPU资源就花在了各个线程间的切换上面去了,反而降低了CPU的使用效率;现在多数计算机都是单处理器(CPU),在这种机器上运行多线程程序,试想如果两个非常活跃的线程为了抢夺对CPU的控制权,则会在线程切换中消耗很多的CPU资源,影响机器的正常运转。所以,在实际编程中,要根据需要灵活地使用多线程,除非确有必要才使用。本文使用单线程编程,希望能够达到或超过使用多线程的效果。
  
  参考文献:
  [1] 胡佩廉.注意原理在包装装潢设计中的运用.印刷杂志,2000,(11):21 -29.
  [2] 梁燕君.浅谈商品包装装潢美.上海包装,2000,(1):19-23.
  [3] 宋宝峰.包装容器结构设计与制造.印刷工业出版社,1996,(4):314.
  [4] 王荣汪,钱晓星.CAD技术在包装装潢设计领域的应用.南京航空航天大学学报,1996.28,(6):812-817.

推荐访问:处理软件 装潢 图案 思路