Перейти к содержанию
Fire Monkey от А до Я

Лидеры

Популярный контент

Показан контент с высокой репутацией 15.08.2019 в Сообщения

  1. Я разобрался в чем дело: Вместо TMapAccess.Write используйте TMapAccess.ReadWrite. TMapAccess.Write по какой то причине затирает если не все, то некоторые последние изменения канваса. В доке http://docwiki.embarcadero.com/Libraries/Rio/en/FMX.Graphics.TBitmap.Map не нашел упоминания о таком поведении.
    2 балла
  2. Вы где то ошиблись. Или в левой кодировке сохранили файл, или еще что. На тестовом проекте добавил - все отлично собралось. Вот мой AndroidManifest.template.xml <?xml version="1.0" encoding="utf-8"?> <!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="%package%" android:versionCode="%versionCode%" android:versionName="%versionName%" android:installLocation="%installLocation%"> <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" /> <%uses-permission%> <uses-feature android:glEsVersion="0x00020000" android:required="True"/> <application android:persistent="%persistent%" android:restoreAnyVersion="%restoreAnyVersion%" android:label="%label%" android:debuggable="%debuggable%" android:largeHeap="%largeHeap%" android:icon="%icon%" android:theme="%theme%" android:hardwareAccelerated="%hardwareAccelerated%" android:resizeableActivity="false" <!-- Вот сюда я добавил строчку --> android:usesCleartextTraffic="true"> <%provider%> <%application-meta-data%> <%uses-libraries%> <%services%> <!-- Our activity is a subclass of the built-in NativeActivity framework class. This will take care of integrating with our NDK code. --> <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="%activityLabel%" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:launchMode="singleTask"> <!-- Tell NativeActivity the name of our .so --> <meta-data android:name="android.app.lib_name" android:value="%libNameValue%" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <%activity%> <%receivers%> </application> </manifest> <!-- END_INCLUDE(manifest) -->
    2 балла
  3. К сожалению начиная с Токио, Эмбаркадера почти полностью поломала TBitmap. Его поведение стало неадекватным. Вместо сохранения можете делать var BitmapSurface : TBitmapSurface; ... BitmapSurface:=TBitmapSurface.Create; BitmapSurface.Assign(Image1.Bitmap); BitmapSurface.Free; Эта манипуляция в процедуре сохранения, как раз и помогает от затирания канваса. Почему это работает я не понял. Не забывайте так же проверять удалось ли заблокировать канвас. Вот я накидал пример: procedure TForm1.Button1Click(Sender: TObject); var Bitmap : Tbitmap; BitmapData : TBitmapData; I: integer; J: integer; Distance: integer; Surf: TBitmapSurface; begin Bitmap := Tbitmap.Create; Bitmap.CreateFromFile('D:\2012643.jpg'); if Bitmap.Canvas.BeginScene then try Bitmap.Canvas.Stroke.Color := TAlphaColorRec.Blue; Bitmap.Canvas.DrawEllipse(TRectF.Create(10, 10, 20, 20), 1); finally Bitmap.Canvas.EndScene; end; Surf:=TBitmapSurface.Create; Surf.Assign(Bitmap); Surf.Free; if Bitmap.Map(TMapAccess.Write, BitmapData) then try Distance:=10; for I := 0 to Round(BitmapData.Width / Distance) - 1 do for J := 0 to Bitmap.Height - 1 do begin begin AlphaColorToPixel(TAlphaColorRec.Red, @PAlphaColorArray(BitmapData.Data) [J * (BitmapData.Pitch div PixelFormatBytes[Bitmap.PixelFormat]) + Distance * I], Bitmap.PixelFormat); end; end; finally Bitmap.Unmap(BitmapData); end; Image1.Bitmap.Assign(Bitmap); end;
    2 балла
  4. qz5

    Андроид 9 и Интернет

    нет, я только манифест менял но возможно Вы манифест меняли обычным блокнотом например, его нао править только программами, которые не добавляют ВОМ например с помощью Notepad++
    1 балл
  5. qz5

    Андроид 9 и Интернет

    неправильно манифест изменили
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...