SYNCERのロゴ
アイキャッチ画像

CMYをCMYKに変換する方法

PHPを使って、カラーコードのCMYをCMYKに変換します。

CMY、CMYKの値は、γ特性や補色の波長などといった複雑な要素を考慮していないため、実際の印刷では差が出ます。あくまで参考程度の値として利用して下さい。

サンプルコード

CMYの最小値がKとなります。そしてCMYのそれぞれの数値をXとして、(X - K) / (1 - K)の変換式でCMYKにおけるCMYの値を得られます。Kが1の時、値がInfinityにならないように注意しましょう。

<?php
function cmy2cmyk ( $cmy ) {
	$k = min( $cmy ) ;
	$cmyk = $k == 1 ? [ 0, 0, 0 ] : array_map( function ( $value, $k ) {
		return ($value - $k) / (1 - $k) ;
	}, $cmy, [ $k, $k, $k ] ) ;
	array_push( $cmyk, $k ) ;
	return $cmyk ;
}

cmy2cmyk( [ 0,0.498,0.749 ] ) ;	// [ 0, 0.498, 0.749, 0 ]

デモ

好きなCMY値を指定して、CMYK値を確認してみて下さい。

<?php
/*** このコードは編集できます。 ***/

function cmy2cmyk ( $cmy ) {
	$k = min( $cmy ) ;
	$cmyk = $k == 1 ? [ 0, 0, 0 ] : array_map( function ( $value, $k ) {
		return ($value - $k) / (1 - $k) ;
	}, $cmy, [ $k, $k, $k ] ) ;
	array_push( $cmyk, $k ) ;
	return $cmyk ;
}

var_dump( cmy2cmyk( [ 0, 0.498, 0.749 ] ) ) ;
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年9月13日 (水)
コンテンツを公開しました。