HTML5キャンバスを使用してクリック可能な6 * 6カラーパレットを作成します。私はパレット上の各色のグリッドをクリックすることができ、背景色は選択された色に変わるはずです。html5キャンバスを使用して6 * 6カラーパレットを作成するには
答えて
リアクトを使って、これを作った。たぶんこのことを見てから、あなたは何をする必要があるのかというアイデアを得るでしょう。
class Palette extends React.Component {
constructor(props) {
super(props);
this.state = { color: '#FFFFFF' };
}
setColor(row, col) {
const color = this.getColor(row, col);
this.setState({ color });
document.body.style.backgroundColor = color;
}
getColor(row, col) {
const hue = Math.floor(col/this.props.height * 360);
const sat = 100;
const lit = Math.floor((1 - (row + 1)/(this.props.width + 1)) * 100);
return `hsl(${hue},${sat}%,${lit}%)`;
}
render() {
const rows = [];
for (let i = 0; i < this.props.height; i++) {
const cols = [];
for (let j = 0; j < this.props.width; j++) {
cols.push(
<div
className="col"
onClick={
() => this.setColor(j, i)
}
style={{
backgroundColor: this.getColor(j, i)
}} />
);
}
rows.push(
<div className="row">
{cols}
</div>
);
}
return (
<div className="palette">
{rows}
</div>
);
}
}
ReactDOM.render(<Palette width={6} height={6} />, document.body);
.palette {
display: flex;
flex: 1;
flex-direction: column;
cursor: pointer;
}
.row {
display: flex;
flex: 1;
flex-direction: row;
}
.col {
width: 20px;
height: 20px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
これに追加するには、 'cxt.getImageData()'を使ってクリックした四角形の色を取得することができます。次に、その色に従って背景を設定するだけです。 (これは単なる基本的なToDoリストです。残りはあなたが把握する必要があります。グーグルで試してみてください) – Brendan
ありがとう。それは助ける。 Bootstrapを使ってこれが可能かどうかを知りたい。 –
@NandanaSrinivasanあなたがキャンバスを使うつもりならば、ブートストラップの使用には何の意味もありません –
- 1. javascriptを使用してテーブルにdivを生成する6 x 6
- 2. HTML5キャンバスにカラーピッカーを作成する
- 3. HTML5キャンバスを使って作業する
- 4. Foundationを使用しているMiddleman 6
- 5. ドゥルーパルでカスタム製品ページを作成する6 ubercartを使用して
- 6. EntityFramework 6 - テーブルを作成しますか?
- 7. EF6(Entity Framework 6)を使用した単体テストの作成
- 8. キャンバスを使用してカラーフェードを作成するには
- 9. カラーパレットを作成する
- 10. sencha touch 6のデリゲートの使用6
- 11. MVC 6でエンティティフレームワーク6クラスライブラリプロジェクトを使用する
- 12. Visual Basic 6を使用してWCFサービスを使用する
- 13. マルチレイヤーHTML5キャンバスをレイヤーイメージに使用する
- 14. vTiger 6でユーザーをプログラム的に作成
- 15. このシリーズをどのように反復するか5 6 7 6 5 6 7 6 5 6 7 6 5 ... C?
- 16. Marklogic 6インデックスの作成?
- 17. Java 8を使用してJava 6ターゲット用のjarを生成する
- 18. VB 6で開いているファイルダイアログを使用するには?
- 19. 使用importキーワードは、6
- 20. は、私はCentOSの6にジェンキンスパイプラインを使用していジェンキンスパイプライン
- 21. 使用.Contains()EF 6
- 22. Java 6でhttpsを使用してサービスに接続するジャージエラー
- 23. ASP.Net MVC、Entity Framework 6プロジェクトでバリューオブジェクトを作成するには?
- 24. asp.net core mvc 6でカスタムタグヘルパーを作成するには?
- 25. ビジュアルベーシック6でフォームテンプレートを作成するには?
- 26. HTML5キャンバスでアナグリフ3Dイメージを作成
- 27. Solr 6コアの作成方法は?
- 28. Windows Mobile 6でログファイルを作成しています
- 29. エラー6作成するためのツールを使用して、私はこの応答を取得し、ワトソンディスカバリサービス
- 30. Openshift V3でJBOSS-EAP-6アプリケーションを作成
これを行うには、キャンバスを必要としない - 実際にキャンバスを使用して独自のカーソルのクリックトラッキングロジックを実装する必要がありますを意味します。なぜキャンバスを使いたいのですか? – Dai
@Daiのコメントに沿って:単純なHTMLテーブルを使用して、それらのすべてを 'for'ループで生成させるようにしてください。各反復では、html要素を作成し、繰り返しごとに 'rgb'色にある量を追加します。 – Brendan
明確な質問ではない...さて、キャンバスの塗りつぶしの色を 'context.fillStyle = 'red''で設定し、6x6矩形の1つを' context.fillRect(column * columnSize、row * rowSize、columnSize 、rowSize) 'myCanvasElement.onclick = function(event){...};を使用してキャンバス上でクリックイベントを聴くことができます。 'anyElement.style.backgroundColor = 'red''を使って要素の背景色を変更することができます – markE