<?php
$image = imagecreatetruecolor(80, 80);
$backcolor = imagecolorallocate($image, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
//填充背景色
imagefill($image, 0, 0, $backcolor);
header('content-type:image/png');
imagepng($iamge);
imagedestroy($image);
?>
上面的**會在瀏覽器輸出一張寬80px、高80px的png格式的其 中: $backcolor = imagecolorallocate($image, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255)), 這是建立背景色的一段**。沒重新整理一次瀏覽器,背景會是不一樣的顏色。其中用到了rgb色彩模式。
rgb色彩模式
是工業界的一種顏色標準,是通過對紅(r)、綠(g)、藍(b)三個顏色
通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,rgb即是代表紅、綠、藍三個通道的顏色,這個標準幾乎包括了人類視力所能感知的所有顏色,是目前運用最廣的
顏色系統
之一。rgb
色彩模式使用
rgb模型
為影象中每乙個
畫素的rgb分量分配乙個0~255範圍內的強度值。rgb
影象只使用三種顏色,就可以使它們按照不同的比例混合,在
螢幕上呈現16777216(256 * 256 * 256)種顏色。
於是就有乙個問題,比如在做驗證嗎的時,如果隨機生成背景顏色,在此顏色上顯示隨機的字元,如何盡量讓的的背景是淺色或淡的顏色。於是查了資料,可以根據rgb去調相應的顏色。 但
單純通過顏色值的rgb值不能夠得知顏色的深淺,簡單的r+g+b判斷是不可取的。上網搜尋之後得知可以使用yuv顏色編碼來判斷顏色的深淺。
y'uv的發明是由於
彩色電視
與黑白電視
的過渡時期
[1]。黑白視訊只有y(luma,luminance)視訊,也就是灰階值。到了彩色電視規格的制定,是以yuv/
yiq的格式來處理彩色電檢視像,把uv視作表示彩度的c(chrominance或chroma),如果忽略c訊號,那麼剩下的y(luma)訊號就跟之前的黑白電視頻號相同,這樣一來便解決彩色電視機與黑白電視機的相容問題。y'uv最大的優點在於只需占用極少的頻寬。
彩色影象記錄的格式,常見的有
rgb、yuv、
cmyk
等。 彩色電視最早的構想是使用rgb三原色來同時傳輸。這種設計方式是原來黑白頻寬的3倍,在當時並不是很好的設計。rgb訴求於人眼對色彩的感應,yuv則 著重於視覺對於亮度的敏感程度,y代表的是亮度,uv代表的是彩度(因此黑白電影可省略uv,相近於rgb),分別用cr和cb來表示,因此yuv的記錄 通常以y:uv的格式呈現。(
來自維基百科
根據網上查詢的色彩心理學公式:
$colorlevel
= $r
* 0.299
+ $g
* 0.587
+ $b
* 0.114;
所以我們可以通過$graylevel來判斷此顏色的深淺,$graylevel的值越小,則顏色越深。
RGB565和RGB888的轉換
1 rgb565或rgb16格式說明 rgb565彩色模式也稱rgb16彩色模式,指的是用16位表示乙個畫素,即 乙個畫素佔兩個位元組,其中 第乙個位元組的前5位用來表示r red 第乙個位元組的後三位 第二個位元組的前三位用來表示g green 第二個位元組的後5位用來表示b blue 如 15 ...
rgb 取值範圍 RGB W 當視覺遇上無線
筆記 rgb w when vision meets wireless 年份 2015 在影象資訊上加上深度資訊 rgb d 有助於室內人類行為的分析,但裝置難以部署。已經被部署的單目攝像頭又難以獲取深度資訊,還有自遮擋的問題。所以作者選擇w,即來自手機的無線訊號 藍芽,wi fi,beacon 作...
rgb顏色設定方法及常用顏色的RGB值
1.android設定rgb顏色方法 每乙個rgb顏色都對應乙個int數值,所以我們可以這麼設定 private static final int default background color color.rgb 0,0,0 如何呼叫這個顏色值呢?比如我們要設定背景顏色,則可以使用 imagev...