いっちさんも仰られていますが、domさんのされたいことは LoadDivGraph で
実現可能だと思います
よろしければ LoadDivGraph のリファレンスをご参照になってみてください
http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph.html#R3N3
CreateDivGraph は恐らく domさんのされたいことを実現するためには役に立たない関数ですが
一応解説いたしますと・・・
その前に、すいません、現在のバージョンでは CreateGraph, CreateDivGraph,
ReCreateGraph の3つの関数が正常に動作しない状態でした
修正版をアップしましたので、よろしければこちらをお使いください m(_ _;m
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCCTest.exe // Gnu C++ 用
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』を、VCをお使いの場合は『リビルド』を、
Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい)
改めて CreateDivGraph の解説をいたしますと、
CreateDivGraph はメモリ上に24bitビットマップイメージがある場合に使う関数で、
第3引数は1ラインあたりのバイト数、第4引数は24bitビットマップイメージの
先頭ピクセルのアドレスを渡します
サンプルとしてプログラムでサイズ640x480の 24bitビットマップのイメージを
メモリ上に作成して( グラデーションを描いています )、それを CreateDivGraph を
使って横8、縦10分割してグラフィックハンドルを作成して、隙間つきで描画するものを
作成してみました
#include "DxLib.h"
#define WIDTH 640 // 画像の横幅
#define HEIGHT 480 // 画像の縦幅
#define DIV_X 8 // 画像の横方向の分割数
#define DIV_Y 10 // 画像の縦方向の分割数
// 24bit ビットマップイメージを一時的に格納するバッファ
BYTE Image[ HEIGHT * WIDTH * 3 ] ;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int i, j ;
int Handle[ DIV_X * DIV_Y ] ;
// ウインドウモードで起動
ChangeWindowMode( TRUE );
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1;
// グラデーションイメージの作成
for( i = 0 ; i < HEIGHT ; i ++ )
{
for( j = 0 ; j < WIDTH ; j ++ )
{
Image[ j * 3 + i * WIDTH * 3 + 0 ] = j * 256 / WIDTH ; // 青
Image[ j * 3 + i * WIDTH * 3 + 1 ] = i * 256 / HEIGHT ; // 緑
Image[ j * 3 + i * WIDTH * 3 + 2 ] = ( j + i * WIDTH ) * 256 / ( HEIGHT * WIDTH ) ; // 赤
}
}
// グラデーションイメージを分割してグラフィックハンドルを作成
CreateDivGraph( WIDTH, HEIGHT, WIDTH * 3, Image, DIV_X * DIV_Y, DIV_X, DIV_Y, WIDTH / DIV_X, HEIGHT / DIV_Y, Handle ) ;
// 画面に分割画像を隙間つきで描画
for( i = 0 ; i < DIV_Y ; i ++ )
{
for( j = 0 ; j < DIV_X ; j ++ )
{
DrawGraph( j * ( WIDTH / DIV_X + 2 ), i * ( HEIGHT / DIV_Y + 2 ), Handle[ j + i * DIV_X ], FALSE ) ;
}
}
// キー入力待ち
WaitKey() ;
// DXライブラリの後始末
DxLib_End();
// ソフトの終了
return 0;
}