Midjourney进阶攻略:从色相到色调,解锁AI绘画的色彩控制艺术(上)
在AI绘画中,仅仅知道颜色的名称远远不够。上一篇文章我们探讨了色相(Hue)的基础,但真正让画面产生情绪与氛围的,是色调(Tone)。本文将从色调的底层逻辑出发,结合Midjourney的实操案例,带你掌握白色调、淡色调和明色调的运用技巧。
为什么色调比色相更重要?
色相帮助我们区分红、蓝、绿等颜色类别,但在实际创作中,仅靠色相无法满足需求。例如,同样是“蓝色”,可以呈现为淡蓝、深蓝、灰蓝或纯蓝,每一种都传递截然不同的情感。这些变化,正是由色调决定的。
色调是颜色的“性格”,它通过调节明度、饱和度或混合程度,赋予画面丰富的表达可能性。通常色调分为六种:白色调、淡色调、明色调、纯色调、灰色调和暗色调。即使没有设计背景,掌握色调也能显著提升对色彩的控制力。


在Midjourney官方手册中,色调被列为进阶调色的核心维度。

Midjourney中的色彩控制:为何要主动干预?
在Midjourney中,色彩控制是设计流程的关键环节。无论是为了增强视觉冲击力,还是精准传达设计理念,合理的配色都能为作品注入情感与深度。
illustration, dark-toned blue, 8k, ultra details --ar 16:9

✅ 为什么要控制色彩?
控制色彩的本质是精准影响情感。色彩设计不仅是选择一种颜色,更是影响观众心理感受的“无声催眠”。
illustration, bright-toned blue, 8k, ultra details --ar 16:9

合理的色彩搭配能让设计语言更有力地表达,增强作品的传播力。
illustration, white-toned blue, 8k, ultra details --ar 16:9

反之,如果选错配色,不仅无法传达设计意图,还可能破坏整体美感。
illustration, light-toned blue, 8k, ultra details --ar 16:9

⚠️ 为什么要在Midjourney中主动控制色彩?
Midjourney的自动配色在灵感探索阶段效果不错,能节省精力,避免配色失误。但它也有明显短板:可能掩盖设计中的不足。一旦出现构图或主题问题,自动配色无法提供提示。
illustration, grey-toned blue, 8k, ultra details --ar 16:9

在实际项目中,我们往往有更具体的配色需求:
- 客户对某种颜色有明确要求
- 概念阶段已确定特定色调
- 某些元素必须使用特定颜色
在这些场景中,设计师需要精确控制色彩,而非完全依赖自动配色。
illustration, pure tone blue, 8k, ultra details --ar 16:9

通过Midjourney的配色控制,我们能让每个元素的色彩与整体调性一致,实现理想效果。
A vibrant and inviting yellow theme sales banner, featuring bold discount text, yellow shopping bags, coins, and playful graphics, dynamic and friendly, promotional style, high visibility --ar 16:9 --q 2

色调详解:白色调
提示词:white-toned <color>


✅ 优点
- 文艺感:白色调带来艺术感与优雅印象,适合文艺创作。
A white-toned pastel beige scene with elegant details, showcasing a refined and sophisticated atmosphere, inspired by minimalism and aesthetic appeal, soft textures, natural lighting, highly detailed --ar 16:9 --q 2

- 素雅简洁:视觉纯净,有效表达简约氛围。
A white-toned soft gray composition, pure and clean design, featuring simplicity and harmony, uncluttered layout, smooth gradients, bright and soft focus --ar 3:2 --q 2

- 干净无暇:突出清晰度和纯洁感,适用于纯净风格。
A white-toned icy blue design, crystal-clear details, smooth and spotless textures, ethereal and serene mood, ultra-high clarity and focus, modern aesthetic --ar 2:3 --q 2

⚠️ 缺点
- 无趣:过度使用易使画面平淡。
A white-toned plain white scene with minimal details, flat textures, lack of depth, overly simplified composition, dull and lifeless atmosphere --ar 16:9 --q 2

- 单调:单一白色调容易乏味。
A white-toned pale gray environment, repetitive patterns, low contrast, uninspired composition, visually monotonous, lacking vibrancy --ar 3:2 --q 2

- 缺乏个性:牺牲色彩多样性,导致表现力不足。
A white-toned off-white palette, overly uniform design, absence of vibrant elements, lack of colorful diversity, minimal individuality or unique expression --ar 2:3 --q 2

色调详解:淡色调
提示词:light-toned <color>

✅ 优点
- 轻快感:传递轻盈、愉悦的氛围。
A light-toned pastel yellow composition, airy and refreshing, conveying a sense of lightness and cheerfulness, soft textures, bright ambiance, and a soothing atmosphere --ar 16:9 --q 2

- 高档与清爽:高端但不过度张扬,适合时尚设计。
A light-toned soft mint green design, modern and elegant, combining a refined and approachable style, clean lines, gentle contrasts, and a serene, refreshing mood --ar 3:2 --q 2

- 天真与女性化:表现柔和特质,适合女性化主题。
A light-toned blush pink theme, gentle and tender, capturing a sense of innocence and femininity, soft lighting, delicate textures, and a warm, emotional expression --ar 2:3 --q 2

⚠️ 缺点
- 单薄:力量不足,不适合强烈情绪表达。
A light-toned pale peach scene, soft and muted, lacking intensity, with minimal contrast and subdued emotions, unable to convey depth or leave a strong impression --ar 16:9 --q 2

- 软弱:搭配不当会失去冲击力。
A light-toned pastel lavender composition, overly delicate and lacking impact, with excessive softness, muted tones, and a weak visual presence, appearing fragile and uninspired --ar 3:2 --q 2

色调详解:明色调
提示词:bright-toned <color>

✅ 优点
- 年轻感:充满活力,适合年轻主题。
A bright-toned sky blue theme, vibrant and youthful, evoking a fresh and energetic mood, soft highlights, playful and lively composition, ideal for conveying a sense of optimism and youth --ar 16:9 --q 2

- 活力和阳光:传递积极向上的情绪。
A bright-toned golden yellow composition, radiating warmth and positivity, cheerful and sunny, featuring strong contrasts and dynamic lighting, conveying vitality and happiness --ar 3:2 --q 2

- 明朗与干净:色彩纯度高,画面清晰直观。
A bright-toned crimson red palette, bold and vivid, showcasing clarity and intensity, highly saturated yet balanced, with a striking and clean visual impact that emphasizes the subject --ar 2:3 --q 2

⚠️ 缺点
- 缺乏档次感:简单直白,可能不够精致。
A bright-toned neon green design, overly bold and simplistic, lacking subtlety and elegance, with an unrefined and casual appearance, unsuitable for conveying luxury or sophistication --ar 16:9 --q 2

小结:色调选择的平衡之道

色彩在设计中的重要性毋庸置疑,而通过不同色调的运用,我们能更精准地传达情感与氛围。从色相到色调,每一步都为创作者打开更多可能性。
在Midjourney中,色彩控制既是技术环节,也是创意助力。合理调整色调,可以轻松切换画面氛围——从白色调的纯净简约,到明色调的活泼生动,每种选择都蕴含无限潜力。
但色调选择并非无条件。白色调可能单调,淡色调可能柔弱,明色调可能欠缺高级感。这提醒我们,在设计过程中需要审慎评估目标表达与色调的匹配度。
通过深入理解各类色调的特性,结合实际需求,我们可以更有效地平衡画面表现力与主题契合度,让每一次创作都更加出色。
import torch, torchvision.transforms as transforms; from torchvision.models import vgg19; import torch.nn.functional as F; from PIL import Image; import matplotlib.pyplot as plt; class StyleTransferModel(torch.nn.Module): def __init__(self): super(StyleTransferModel, self).__init__(); self.vgg = vgg19(pretrained=True).features; for param in self.vgg.parameters(): param.requires_grad_(False); def forward(self, x): layers = {'0': 'conv1_1', '5': 'conv2_1', '10': 'conv3_1', '19': 'conv4_1', '21': 'conv4_2', '28': 'conv5_1'}; features = {}; for name, layer in self.vgg._modules.items(): x = layer(x); if name in layers: features[layers[name]] = x; return features; def load_image(img_path, max_size=400, shape=None): image = Image.open(img_path).convert('RGB'); if max(image.size) > max_size: size = max_size; else: size = max(image.size); if shape is not None: size = shape; in_transform = transforms.Compose([transforms.Resize((size, size)), transforms.ToTensor(), transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225))]); image = in_transform(image)[:3, :, :].unsqueeze(0); return image; def im_convert(tensor): image = tensor.to('cpu').clone().detach(); image = image.numpy().squeeze(); image = image.transpose(1, 2, 0); image = image * (0.229, 0.224, 0.225) + (0.485, 0.456, 0.406); image = image.clip(0, 1); return image; def gram_matrix(tensor): _, d, h, w = tensor.size(); tensor = tensor.view(d, h * w); gram = torch.mm(tensor, tensor.t()); return gram; content = load_image('content.jpg').to('cuda'); style = load_image('style.jpg', shape=content.shape[-2:]).to('cuda'); model = StyleTransferModel().to('cuda'); style_features = model(style); content_features = model(content); style_grams = {layer: gram_matrix(style_features[layer]) for layer in style_features}; target = content.clone().requires_grad_(True).to('cuda'); style_weights = {'conv1_1': 1.0, 'conv2_1': 0.8, 'conv3_1': 0.5, 'conv4_1': 0.3, 'conv5_1': 0.1}; content_weight = 1e4; style_weight = 1e2; optimizer = torch.optim.Adam([target], lr=0.003); for i in range(1, 3001): target_features = model(target); content_loss = F.mse_loss(target_features['conv4_2'], content_features['conv4_2']); style_loss = 0; for layer in style_weights: target_feature = target_features[layer]; target_gram = gram_matrix(target_feature); style_gram = style_grams[layer]; layer_style_loss = style_weights[layer] * F.mse_loss(target_gram, style_gram); b, c, h, w = target_feature.shape; style_loss += layer_style_loss / (c * h * w); total_loss = content_weight * content_loss + style_weight * style_loss; optimizer.zero_grad(); total_loss.backward(); optimizer.step(); if i % 500 == 0: print('Iteration {}, Total loss: {}'.format(i, total_loss.item())); plt.imshow(im_convert(target)); plt.axis('off'); plt.show()

想要深入学习更多AI绘画技巧?欢迎关注本专栏,后续将继续分享纯色调、灰色调和暗色调的实战应用。
浙公网安备 33010602011771号