高速ピクセル処理
ここに載せてあるソースコードは、参考のために載せてあります
サンプルコードは、一番下にLZHとしてあります
Option Explicit Private Sub Command1_Click() Dim CSpeed As New Speeding Dim DstHdc As Long, SrcHdc As Long Dim jx As Long, jy As Long, picWid As Long, picHei As Long, lngColor As Long Dim jindex As Integer 'Picture1のサイズを取得します picWid = Picture1.ScaleWidth picHei = Picture1.ScaleHeight '処理は、すべてクラス(と標準モジュール)に任せてます '単純な処理をします '色を分解する処理します For jindex = 0 To 2 '初期設定をします CSpeed.Starting Picture2(jindex), Picture1 '作成されたHDCを取得します DstHdc = CSpeed.GetDstHDC SrcHdc = CSpeed.GetSrcHDC For jy = 0 To picHei '処理に応じてコメントを解除してください 'DoEvents For jx = 0 To picWid lngColor = GetPixel(SrcHdc, jx, jy) SetPixel DstHdc, jx, jy, IndexRGBColor(lngColor, jindex) Next jx, jy, jindex End Sub |