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

M1shQa

Пользователи
  • Постов

    89
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные M1shQa

  1. Определить координату по цвету пикселя можно так:

    unit Unit1;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
      FMX.Controls.Presentation, FMX.StdCtrls, FMX.Objects, FMX.ScrollBox, FMX.Memo;
    
    type
      TForm1 = class(TForm)
        Image1: TImage;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.fmx}
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      bd: TBitmapData;
      bm:TBitmap;
      i,j,cnt:integer;
      ac:TAlphaColor;
    begin
      cnt:=0; // количество
      bm:=Image1.MultiResBitmap.Items[0].Bitmap;
      bm.Map(TMapAccess.Read, bd);
    
      for i:=0 to bd.Width do
        for j:=0 to bd.Height do
        begin
          ac:=bd.GetPixel(i,j);
          if ac=TAlphaColorRec.Red then //4294901760=$FFFF0000
          begin
            cnt:=cnt+1;
            Caption:='i='+i.ToString+',j='+j.ToString+' кол-во='+cnt.ToString;
            Sleep(300);
          end;
        end;
    
      Bm.Unmap(bd);
    end;
    
    end.
    
    
    Использовал TImage, а не TImageViewer (думаю не принципиально). Загрузил картинку, на которой поставлены

     в графическом редакторе красные точки (цвет FFFF0000).

     

     

    Bezymiannyi.png

     

    Склеить два битмапа наверное можно так: http://docwiki.embarcadero.com/CodeExamples/Seattle/en/CreateFromBitmapAndMask_(Delphi)

     

    Спасибо огромное, буду теперь переписывать на си это и пытаться по этим координатам влепить картинку, только сразу так не вкурил, где выводятся координаты? ну или в каком фрагменте можно записать эти координаты в переменные? 

  2.  

     

    Вы не ответили на вопрос. Слова "по приемке" для меня и, думаю, большинства остальных посетителей форума ничего не скажут.

    Я понимаю, что вы можете это сделать, но испытываете какие-то затруднения, иначе не задали бы этот вопрос.

     

    Давайте уйдем от специфики вашей области и оставим чисто программные понятия (дальше нужны ваши уточнения):

    1. Стороннее приложение (а сторонее ли, или ваше ? Это очень важный момент) рисует что-то.

    1. Это что-то сохраняется как ...??? Совершенно непонятно, что вы имеете ввиду под словом "схема" - это может быть что угодно, включая никому кроме автора неизвестный формат.

    2. есть необходимость найти на ней пиксели определенного цвета и поверх них отрисовать картинку.

     

    В общем - конкретизируйте вашу задачу. Перечитайте свой вопрос с точки зрения человека, который первый раз его видит и вообще "не в теме", что там у вас за лампочки и схемы.

     

     

    Я Вас услышал. В моем приложении есть картинка, просто картинка отрисованая компонентом TImageViewer, далее на определенных координатах на этой картинке мне нужно отрисовывать другие картинки, вот как это сделать? все картинки у меня сохранены в приложении. Т.е. я хочу нарисовать на TImageViewer поверх еще картинки, что бы они крепились в определенных местах вне зависимости от размера экрана, а TImageViewer у меня тянется на весь экран (Алигн стоит Клиент).

  3. Кто рисует эти пиксели определенного цвета? Приложение со схемой - ваше или стороннее?

    я сам могу это сделать, просто мне каким то образом нужно определять координаты для выставления лампочек на автомате, вот и предположил, что можно по метке какой нибудь это сделать. У меня же есть по приемке сама схема и картинки с лампами (активная и не активная).

  4. Суть проблемы: есть приложение, на нем отрисовывается схема квартиры (приложение под андроид) на этой схеме есть пиксели определенного цвета, отвечающие за координаты лампочки. Мне необходимо: найти эти пиесели и по их координатам разместить там компонент с картинкой (саму лампочку). Как это возможно реализовать? Особенно учитывая то, что экраны у всех мобильников разные..

  5. Добрый день госопда. Есть одно приложение на плюсах под андроид, получаю данные через сокеты по tcp посредством компоненты от Indy (только tcp сокеты, других вариантов начальство не дает). Проблема состоит в том, что каждый раз, когда идет получение на пример картинки, то вcё зависает и висит во фризе до конца получения данных, весь телефон висит! Можно как то решить эту проблему? Особенно это ужасает когда приложение работает в фоне и пытается выкачать картинку, телефон просто зависает и все, ничего не поделаешь..

×
×
  • Создать...