C ++ builder - интерактивная карта Европы в формате TForm - PullRequest
1 голос
/ 17 июня 2011

Я хотел бы иметь изображение Европы в TForm или TPanel, где каждая страна может имитировать функциональность кнопки.Я также хотел бы иметь возможность динамически менять цвет каждой страны.

Кто-нибудь знает, возможно ли это сделать в C ++ Builder?Любые примеры или помощь высоко ценится.

Спасибо

1 Ответ

2 голосов
/ 26 сентября 2011

Это возможно.

Одно быстрое решение, предполагающее, что ваше изображение НЕ масштабируется.Имейте второе изображение, подобное с картой Европы, где у каждой страны будет уникальный цвет.В OnMouseMove панели, где изображение считывается с позицией относительно карты Европы (изображение) и получают значение пикселя на другом изображении - используя Timage-> Picture-> Bitmap-> Canvas-> Pixels [x][y], так что вы получите информацию о стране или любую другую информацию, которую вы можете установить.Используя тот же метод, вы можете сказать, какие пиксели относятся к стране и сделать замену.Это быстрый обходной путь, возможны МНОГИЕ другие способы, такие как наложение изображений (несколько элементов управления TImage).

...