Моделирование' <выбора>' в Internet Explorer

В данный момент мой Raspberry Pi недоступен - все, что я хочу сказать, это то, что там был какой-то дым, и я занимаюсь программным, а не аппаратным обеспечением! В результате я проверил это только на Mac. Использует Numba.

Сначала я использовал ваш код Numpy на этих 2 изображениях:

enter image description here

и

[1110 ] enter image description here

Затем я реализовал то же самое, используя Numba. Numba версия работает в 5,5 раз быстрее на моем iMac. Поскольку Raspberry Pi имеет 4 ядра, вы можете попробовать поэкспериментировать с:

@jit(nopython=True,parallel=True)
def method2(image1,image2,transparency):
   ...

Вот код:

#!/usr/bin/env python3

import numpy as np
from PIL import Image

import numba
from numba import jit

def method1(image1,image2,transparency):
   result = image1*transparency+image2*(1-transparency)
   return result

@jit(nopython=True)
def method2(image1,image2,transparency):
   h, w, c = image1.shape
   for y in range(h):
      for x in range(w):
         for z in range(c):
            image1[y][x][z] = image1[y][x][z] * transparency + (image2[y][x][z]*(1-transparency))
   return image1

i1 = np.array(Image.open('image1.jpg').convert('RGB'))
i2 = np.array(Image.open('image2.jpg').convert('RGB'))

res = method1(i1,i2,0.4)
res = method2(i1,i2,0.4)

Image.fromarray(np.uint8(res)).save('result.png')

Результат:

enter image description here

Другие мысли ... Я сделал композит на месте, переписав ввод image1, чтобы попытаться сэкономить место в кеше. Это может помочь или помешать - пожалуйста, экспериментируйте. Возможно, я не обработал пиксели в оптимальном порядке - пожалуйста, поэкспериментируйте.

5
задан Volker E. 28 February 2017 в 20:27
поделиться

1 ответ

IE наиболее вероятен в режиме причуд. Предыдущие версии IE не потянули select элемент самостоятельно и таким образом это не могло быть разработано правильно (а также некоторые причуды z-порядка), таким образом, на IE <8 Вы просто не можете сделать этого, если Вы не повторно реализуете что-то как select в JS. Смотрите на инструменты разработчика (F12) для наблюдения, в котором находится режим IE браузера и документа; если это говорит "Internet Explorer 8" для режима Browser и не "Режима Quirks" для режима документа, необходимо быть в порядке :)

Следующий отрывок хорошо работает здесь (IE8β2):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <style type="text/css">
            select {
                border: 1px solid red;
            }
        </style>
    </head>
    <body>
        <form>
            <select>
                <option>1</option>
                <option>2</option>
            </select>
        </form>
    </body>
</html>
9
ответ дан 14 December 2019 в 13:48
поделиться