Это больше математический вопрос, чем что-либо еще.
Я работаю над программным обеспечением для планирования книг, в котором рекламные объявления могут размещаться на страницах историй. История на самом деле занимает 100% страницы, а поверх нее размещаются рекламные формы.
Изображение слева показывает страницу с только формой истории, прежде чем размещать рекламу.
Изображение справа показывает рекламу, размещенную в верхней части формы истории.
Мой вопрос в его основной форме: Если у меня есть количество объявлений, а также расположение и размеры всех объявлений, как я могу рассчитать отрицательное зеленое пространство, оставшееся от объявлений, в виде отдельных фигур? Количество объявлений, их размещение и размеры могут существенно различаться.
Я спрашиваю об этом потому, что после размещения всех рекламных форм мы разрешаем клиенту «объединить страницу». Это тогда становится плоским изображением. Но я хочу выделить области, которые являются «историей», поместив прямоугольник поверх них с низкой непрозрачностью.
$layoutW = 6;
$layoutH = 8;
$adCount = 3;
$ad1[‘x’] = 0;
$ad1[‘y’] = 0;
$ad1[‘w’] = 2;
$ad1[‘h’] = 2;
$ad2[‘x’] = 2;
$ad2[‘y’] = 1;
$ad2[‘w’] = 4;
$ad2[‘h’] = 7;
$ad3[‘x’] = 0;
$ad3[‘y’] = 6;
$ad3[‘w’] = 2;
$ad3[‘h’] = 2;
Является ли то, что я пытаюсь достичь, слишком сложно? Любые мысли или понимание приветствуется.
Задача ещё не решена.
Других решений пока нет …