测试一组图像生成#Mixlab的异形头

“异形头”或“物体头”

通常指的是一种艺术或设计中的概念,人物的头部被替换为非人体的物体或异形结构。这种设计常见于超现实主义艺术、漫画、动画和游戏中,旨在创造视觉冲击或传达特定的主题和情感。

shadow:

这个概念还蛮有意思的,所以我生成了一组找找感觉↓

f60d947f070da88de80c4b634f0ff475.png

f3887a76939995fbf6c7ecf6ee37a91b.png

48f34652cb161868c14475d46a5152e8.png

3b799124e9f23ecefa11ee95423d93a7.png

cd37a0edcad5d01f6c608f542a4e8c0a.png

899d885085fa66edced2236f0d7272b9.png

shadow:

另外,“产品捕手” 看到一个小产品,还蛮方便的,也分享给大家:

74ac4ef9e1413ed69c3aae1145e2d5fe.png

一行代码就可以集成。如果你想了解”产品捕手“,可以查看以下视频:

(每日爬取上千条信息)

我是怎么设计第一个“首席产品捕手”的?#使用AI的100种方法N5

最近,有不少成员咨询各种ComfyUI的疑难杂症,如果你有需求,可以填写以下表格:

ComfyUI专家远程答疑

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生成异形窗口的方法一般是通过设置窗口的不规则区域(non-client region)来实现的。以下是一个简单的 C++ 代码示例,可以根据一张图片生成一个具有不规则边缘的窗口: ```c++ #include <windows.h> LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // 加载窗口图像 HBITMAP hBitmap = (HBITMAP)LoadImage(NULL, "window.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE); if (!hBitmap) { MessageBox(NULL, "Failed to load image!", "Error", MB_OK | MB_ICONERROR); return 1; } // 获取窗口图像的大小 BITMAP bitmap; GetObject(hBitmap, sizeof(bitmap), &bitmap); int width = bitmap.bmWidth; int height = bitmap.bmHeight; // 创建窗口类 WNDCLASS wndClass = {}; wndClass.lpfnWndProc = WndProc; wndClass.hInstance = hInstance; wndClass.lpszClassName = "MyWindowClass"; RegisterClass(&wndClass); // 创建窗口 HWND hWnd = CreateWindow("MyWindowClass", "My Window", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, width, height, NULL, NULL, hInstance, NULL); // 创建一个用于绘制窗口的 DC HDC hdc = GetDC(hWnd); // 为窗口设置不规则区域 HRGN hRgn = CreateRectRgn(0, 0, width, height); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { COLORREF color = GetPixel(hdc, x, y); if (color == RGB(0, 0, 0)) { HRGN hPixelRgn = CreateRectRgn(x, y, x + 1, y + 1); CombineRgn(hRgn, hRgn, hPixelRgn, RGN_XOR); DeleteObject(hPixelRgn); } } } SetWindowRgn(hWnd, hRgn, TRUE); // 绘制窗口图像 HDC hMemDC = CreateCompatibleDC(hdc); HBITMAP hOldBitmap = (HBITMAP)SelectObject(hMemDC, hBitmap); BitBlt(hdc, 0, 0, width, height, hMemDC, 0, 0, SRCCOPY); SelectObject(hMemDC, hOldBitmap); DeleteDC(hMemDC); // 显示窗口 ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); // 消息循环 MSG msg; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } // 清理资源 DeleteObject(hBitmap); ReleaseDC(hWnd, hdc); DeleteObject(hRgn); return (int)msg.wParam; } LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } ``` 在这个示例中,我们首先加载了一张 BMP 格式的图片,然后获取了它的大小。接下来,我们创建了一个窗口类,并使用 CreateWindow 函数创建了一个窗口。然后,我们通过 GetDC 函数获取了用于绘制窗口的 DC。接着,我们根据图片的黑色像素生成了一个不规则区域,并使用 SetWindowRgn 函数将其设置为窗口的不规则区域。最后,我们使用 BitBlt 函数将图片绘制在窗口上,并使用 ShowWindow 函数显示窗口。 需要注意的是,这个示例只是一个简单的演示,可能存在一些问题。例如,如果图片太大,生成不规则区域的过程可能会很慢;如果图片的边缘不够光滑,可能会出现锯齿。在实际开发中,您可能需要对代码进行优化或调整,以达到更好的效果和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值