我有一个Image1(TImage)和一个Mask&Sprite(TImage),在设计时分配了B / W图像。现在我想在Bit1上使用BitBlt Mask和Sprite来获得透明图像:
BMPmask := TBitmap.Create;
BMPsprite := TBitmap.Create;
try
BMPmask.Assign(Mask.Picture.Bitmap);
BMPsprite.Assign(Sprite.Picture.Bitmap);
BitBlt(Image1.Canvas.Handle, 50, 50, 96, 96, BMPmask.Canvas.Handle, 0, 0, SrcAnd);
BitBlt(Image1.Canvas.Handle, 50, 50, 96, 96, BMPsprite.Canvas.Handle, 0, 0, SrcInvert);
finally
BMPmask.Free;
BMPsprite.Free;
end;
但是当我运行我的程序时没有任何显示。我做错了什么?
答案 0 :(得分:2)
不确定如何初始化Image(问题中没有意义 - 也许它没有被初始化?)。简单示例按预期工作:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.schwarzerritter.remotecontroll">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="Remotecontroll"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name="com.example.schwarzerritter.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="sensorPortrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Navigation" />
<activity android:name=".Car_doors" />
<activity android:name=".Air_con_fill_gas"/>
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
</manifest>