1 00:00:00,760 --> 00:00:06,264 Nesta seção, vamos combinar o código acima idéias com as idéias de 2 00:00:06,264 --> 00:00:11,907 imagens e números de pixel RGB, para fim para trazer esse conjunto. Agora, exemplos 3 00:00:11,907 --> 00:00:16,984 Nesta seção, vamos manipular um pixel de cada vez. E, em seguida, o seguinte 4 00:00:16,984 --> 00:00:21,509 seção, vamos estendê-lo para construir, fazer milhares de pixels de cada vez. Portanto, para obter 5 00:00:21,509 --> 00:00:27,036 começou, eu olho para isso, a imagem chamada X.png. E a imagem é muito pequena, de modo que 6 00:00:27,036 --> 00:00:32,701 pode [inaudível] aqui. Portanto, uma imagem é 10 por 10, que é mostrado na 7 00:00:32,701 --> 00:00:38,228 página. É uma imagem em preto com um X branco desenhado nele. E como eu disse, é 8 00:00:38,228 --> 00:00:43,756 bastante pequeno. Mas vamos lá, vamos mostrar um pouco maior em um segundo. Assim, o PNG 9 00:00:43,756 --> 00:00:49,212 é um, um formato de imagem, gráficos de rede portáteis. Como, JPEG é um formato 10 00:00:49,212 --> 00:00:54,966 poderia ser mais familiar. então esses são os dois formatos de imagem. Assim, neste 11 00:00:54,966 --> 00:01:00,938 caso, [o som]. O que eu quero ver aqui. Isto é algum código que carrega o XP superior e G 12 00:01:00,938 --> 00:01:05,674 a imagem e exibe. Por conseguinte, um primeiro exemplo de código será muito simples, 13 00:01:05,674 --> 00:01:10,171 trabalhando com as imagens. Então aqui está o código a partir daqui, e eu só vai falar sobre 14 00:01:10,171 --> 00:01:14,489 o que cada linha. Portanto, esta primeira linha, a imagem é igual à nova imagem e facilmente. De 15 00:01:14,668 --> 00:01:19,343 [Inaudível] PNG. O que isto significa, é certo na sua essência. Carrega 16 00:01:19,343 --> 00:01:23,697 X.png imagem na memória. E vamos falar mais detalhadamente a seguir, o que, o que a memória 17 00:01:23,697 --> 00:01:27,890 é. Mas basta dizer que é meio, que recebe em seu computador para que você possa, 18 00:01:27,890 --> 00:01:32,516 a equipe pode trabalhar sobre ela. Assim, uma vez que você tem a imagem, o sinal de igual aqui 19 00:01:32,516 --> 00:01:36,980 simplesmente armazenado em uma variável, eu sou, eu estou chamando a imagem, como, como 20 00:01:36,980 --> 00:01:41,388 variáveis vimos antes. A segunda linha, image.setzoom20. O que ele faz é 21 00:01:41,388 --> 00:01:46,016 chamar, definir, definir a função de zoom, que é algo que eu tenho fotos. E 22 00:01:46,016 --> 00:01:51,959 passa o número 20. E tudo o que faz. É que a opção para mostrar a 23 00:01:51,959 --> 00:01:57,189 tamanho da imagem de 20x? E assim por diante. Isso é apenas algo que eu usaria uma pequena imagem como 24 00:01:57,189 --> 00:02:00,656 Esta é apenas uma amostra de forma suficientemente grande, o qual Eu posso ver. E, finalmente, Imprimir (PRINT) 25 00:02:00,656 --> 00:02:04,037 A imagem é muito semelhante ao que vimos antes disso, só imprime a imagem em 26 00:02:04,037 --> 00:02:07,418 do lado direito, como vimos, strings e números antes. Então, todos nós podemos 27 00:02:07,418 --> 00:02:12,325 em um julgamento. Então, se eu executar esse que você vê estão aqui é X.png aparecem aqui. E 28 00:02:12,325 --> 00:02:16,907 Ato, você pode realmente ter um, dois, três, quatro. Você pode realmente ter mais, 29 00:02:16,907 --> 00:02:21,979 e ver que ele é de fato 10 por dez pixels. Mostra-se aqui em 30 00:02:22,163 --> 00:02:27,234 vinte XIS. Então, realmente pode mudar este número aqui. Então se eu posso mudar isso para um 31 00:02:27,234 --> 00:02:31,633 10 e execute novamente ele, então tudo bem, bom, agora é de apenas 20 vezes. E se eu 32 00:02:31,633 --> 00:02:35,483 como, um, um aqui de 40 anos, e executá-lo, [inaudível]. Então, eu vou colocá-lo de volta para o 33 00:02:35,483 --> 00:02:40,013 20. [Som] por isso é apenas um exemplo, antes de algum código, mas nós 34 00:02:40,013 --> 00:02:44,882 tipo de ir a maneira de ser capaz de carregar e manipular imagens. Direito, de modo que 35 00:02:44,882 --> 00:02:50,471 para tornar este um pouco mais interessante. Eu quero estender o código para lidar 36 00:02:50,471 --> 00:02:55,247 com pixels individuais, então eu sou um adicionar um par de linhas no centro de um 37 00:02:55,247 --> 00:02:59,457 programa aqui, então essa linha pixelequalsimage.getpixel00. Como 38 00:02:59,457 --> 00:03:04,360 Qual será a imagem e seu curso para obter uma referência para um pixel particular 39 00:03:04,360 --> 00:03:09,514 sempre desde que as coordenadas X, Y especificar aqui que, para 0,0 ou referência, 40 00:03:09,514 --> 00:03:14,856 o pixel superior esquerdo, de modo que de referência para o pixel superior esquerdo e armazena no 41 00:03:14,856 --> 00:03:20,223 uma variável de pixel e, em seguida, esta linha. Pixel setRed ponto 255. Que chama uma função 42 00:03:20,223 --> 00:03:25,722 pixels setRed chamado e que o, o que setRed não é necessário em qualquer número aqui 43 00:03:25,722 --> 00:03:31,090 entre os parênteses e qualquer número que leva e coloca-o no 44 00:03:31,090 --> 00:03:36,329 valor do pixel da cor vermelha para esse número. Portanto, vou executar este. Precisamos ver 45 00:03:36,329 --> 00:03:41,503 o que faz. E o que você vê é o que fez código de referência é obtido 46 00:03:41,503 --> 00:03:46,420 isso, o pixel superior esquerdo e era negro antes e eu me lembro, eu me lembro 47 00:03:46,420 --> 00:03:51,597 cada um, cada pixel tem três números em vermelho, verde e azul. E então o que esta 48 00:03:51,597 --> 00:03:56,384 código não era a quantidade de vermelho e mudado para 255, apenas o cancelamento 49 00:03:56,384 --> 00:04:01,625 tudo o que tinha antes. Então, quando vemos que, isso mesmo é mostrado como um pixel vermelho, 50 00:04:01,625 --> 00:04:07,995 assim. Um conjunto de rede para alterar os valores de vermelho. Há um conjunto de função semelhante 51 00:04:07,995 --> 00:04:12,807 Verde e virou azul. Portanto, temos estes três, Conjunto de rede, defina Defina Verde e Azul. 52 00:04:12,807 --> 00:04:17,620 E assim, com isso, você pode mudar Os valores de vermelho, verde e azul para ser 53 00:04:17,620 --> 00:04:22,083 o que quer, onde quiser. Portanto. Ah, e vou falar sobre os bastidores para que eu, eu 54 00:04:22,083 --> 00:04:25,497 você sabe, introduziu três funções. Há uma página separada 55 00:04:25,497 --> 00:04:29,327 Funções da imagem de referência, que apenas lista todas as funções de uma tabela, de modo que, para alguns 56 00:04:29,327 --> 00:04:33,110 ano subsequente, talvez você queira, você pode ver que se você quer se lembrar que um 57 00:04:33,110 --> 00:04:36,526 função faz. Mas normalmente eu só vai para a conferência, se vou usar uma 58 00:04:36,526 --> 00:04:40,240 Vou trabalhar, como eu vou falar sobre isso. Então, o que posso fazer para 59 00:04:40,240 --> 00:04:44,273 mostrar como, como essas funções estão apenas passando por uma série de exemplos 60 00:04:44,273 --> 00:04:48,233 Basta usar para fazer algo. Ok, então aqui estão eles, para que o formato 61 00:04:48,233 --> 00:04:52,117 isto é o que eu tenho, uma área um código aqui com algum código para iniciá-lo. E 62 00:04:52,117 --> 00:04:55,855 abaixo na tabela abaixo, acabei de receber um monte de pequeno desafio, 63 00:04:55,855 --> 00:04:59,642 problemas como, oh, algo que define verde ou amarelo ou o que quer, e vai 64 00:04:59,642 --> 00:05:03,574 através deles. Para cada um deles, no lado direito existe esta pequena 65 00:05:03,574 --> 00:05:07,701 exibir o botão, então você pode clicar para ver o código da solução. Então depois você pode ir 66 00:05:07,701 --> 00:05:11,730 esta página para você mesmo e as experiências que eu tentei você pode apenas tentar 67 00:05:11,730 --> 00:05:15,420 tentar variações do mesmo ou o que quer. Ok, então vamos tentar isto primeiro. Bem 68 00:05:15,420 --> 00:05:19,281 na verdade, aqui eu vou, eu corro o primeiro código para ver o que ele faz. Ok, então direita 69 00:05:19,281 --> 00:05:23,581 Agora está ficando 0,0 pixels e defini-lo em vermelho. Assim, mais ou menos sido 70 00:05:23,581 --> 00:05:28,588 como antes. Ok, então o que é o primeiro problema [inaudível]. 0,0 de pixel definido para ser 71 00:05:28,588 --> 00:05:33,543 verde. Então, o caminho aqui é em Inglês, eles dizem, bem isso é um efeito que foi 72 00:05:33,543 --> 00:05:38,560 Para e no sentido dos passos que estamos aqui para pensar 73 00:05:38,560 --> 00:05:43,641 assim, seria no domínio do código, em termos de chamadas de função e números. 74 00:05:43,641 --> 00:05:48,850 Quais são a série de operações que queremos fazer para obter esse efeito? Então você é tipo 75 00:05:48,850 --> 00:05:53,980 essencialmente traduzir Inglês para o computador. Portanto, neste caso se diz 76 00:05:53,980 --> 00:05:58,791 estabelecer verde. Então o que eu faço para fazer isso, em vez de chamar o vermelho inteiro 77 00:05:58,791 --> 00:06:03,903 função, eu vou mudá-lo para o estabelecimento da chamada verde. Então, vamos tentar isso. Aqui vamos nós. 78 00:06:03,903 --> 00:06:09,466 Temos de pixel [inaudível] e coisas verdes. Vamos tentar o seguinte. A seguir uma 79 00:06:09,466 --> 00:06:15,314 configurar disse pixels 0,0 a ser amarelo. Tão bom, tão bem, para que o pixel aparece 80 00:06:15,314 --> 00:06:20,663 amarelo, o que eu quero é que tanto os valores de vermelho e verde para ser 255. Você sabe, 81 00:06:20,663 --> 00:06:25,942 o amarelo é igual vermelho mais verde. Então, para fazer que, para alterar tanto a vermelho e 82 00:06:25,942 --> 00:06:30,197 verde. Vou copiar esta linha, e terá de colá-lo aqui. E eu só vou mudar 83 00:06:30,197 --> 00:06:34,279 esta uma para vermelho. Portanto, estou confiante de que, uma vez que tenho a referência 84 00:06:34,279 --> 00:06:38,312 de pixels, o que posso fazer várias coisas para ele. Portanto, a seguir, nesta primeira linha, eu chamo para definir 85 00:06:38,312 --> 00:06:42,242 Red, eu posso mudar o valor vermelho. E então eu posso chamar o conjunto verde na linha após a 86 00:06:42,242 --> 00:06:46,427 mudar a cor verde. E você, o código que aconteceu e fazer cada um dos 87 00:06:46,427 --> 00:06:50,509 as coisas internamente. Então, vamos tentar isso. E, de fato, tornam-se amarelo. Então, eu tenho, 88 00:06:50,509 --> 00:06:54,439 Este sorta remonta à idéia de que existe este pixel. De facto, só tinha 89 00:06:54,439 --> 00:06:58,624 estas três questões aqui. E aqui estou eu escrevendo código linha por linha a ficar um pouco 90 00:06:58,624 --> 00:07:04,406 lá e mudar estes números. Vamos tentar o seguinte. 1,0 de pixel definido para ser 91 00:07:04,406 --> 00:07:10,242 amarelo. Onde é que pixel? Assim, de modo que esta linha de volta ao ponto de recepção de imagens 92 00:07:10,242 --> 00:07:14,750 linha de pixels, que não mudaram até agora. Assim, a maneira como isso funciona é 93 00:07:14,750 --> 00:07:19,629 qualquer número que você especificar, zero, zero qualquer que seja, isso é apenas uma forma de identificar 94 00:07:19,629 --> 00:07:24,571 o pixel diferente aqui dentro. Então, se eles dizem que um zero, você vai ter o pixel 95 00:07:24,571 --> 00:07:29,264 x é igual a um, e é igual a zero, de modo que [Inaudível] é que é seguinte na linha. Assim, se 96 00:07:29,264 --> 00:07:34,206 Eu executá-lo, só podemos ver o que ele faz. Portanto, o que é visto é que é uma mais do que o 97 00:07:34,206 --> 00:07:39,024 direito. Então, realmente, você pode especificar nada aqui. Eu poderia dizer, você sabe, 98 00:07:39,024 --> 00:07:43,254 dois mandatos de quatro Vamos ver onde, se eu executá-lo. Ah, bem, aparentemente, que está aqui. 99 00:07:43,406 --> 00:07:47,285 Então, isso vai voltar ao que eu estava dizendo um par de seções atrás. Isto é que é, 100 00:07:47,285 --> 00:07:51,673 X é igual a zero, isto é X é igual a um, isto é X é igual a dois. Vamos brincar com 101 00:07:51,673 --> 00:07:55,704 um monte de detalhes para jogar com os valores XY diferentes, nós apenas apreciar 102 00:07:55,704 --> 00:08:00,461 que. Mesmo se eu tiver um milhão de pixels aqui é que x, y esquema que poderia 103 00:08:00,461 --> 00:08:05,139 marcar um X em especial o número e discar exatamente um pixel particular. 104 00:08:05,139 --> 00:08:13,928 Assim, o texto diz, fornece 00 pixels para o alvo. Então, eu vou mudá-lo novamente, para ser 105 00:08:13,928 --> 00:08:23,194 00 pixels, então o que eu posso fazer para [inaudível] para ser cola branca? A resposta é 106 00:08:23,194 --> 00:08:30,069 deseja definir os três valores a 255. Esta notificação, em vez de dizer, reescrevendo pixel., 107 00:08:30,069 --> 00:08:35,035 tornando-o pela mão, muitas vezes é mais fácil copiar um existente e 108 00:08:35,035 --> 00:08:39,193 depois é só mudar um pouco. Então eu vou colocar em uma terceira chamada aqui 109 00:08:39,366 --> 00:08:43,597 pixel.setblue255. Assim, o resultado de três. Vamos tentar. Sim 110 00:08:43,597 --> 00:08:47,245 na verdade, ela chega a ser branco. Então eu coloquei os três valores 111 00:08:47,245 --> 00:08:51,258 [Inaudível]. Portanto, há problemas de um casal mais aqui. Eu realmente não estou indo para 112 00:08:51,258 --> 00:08:55,167 trabalhar, mas se você quiser, pode ir a esta página e tente qualquer número de 113 00:08:55,167 --> 00:08:59,283 experiências ou tentar as também. E então, quando você se sente confortável com isso 114 00:08:59,283 --> 00:09:02,879 tipo de material, então, nós estaremos prontos para alguns em, alguns dos exercícios.