>> [음악 연주]
>> ROB 보덴 : 안녕하세요.
나는 롭이고하자의 크기 이 문제입니다.
그래서 우리는 copy.c로 시작하는거야 템플릿,하지만 우리가 될 것입니다
꽤 변경.
>> 이제 우리는 우리가 즉시 돼서 우리는 더 이상 확인하고 위치를 변경하지
우리의 RXC 이제 3와 동일하지만,하지 않습니다에 우리는 RC를 확인하는 것은 4와 동일하지 않습니다.
우리는 또한에 포함 할 때문에 파일 및 출력 파일에 추가
이 될 것입니다 인수, F 우리가 확장하고하는 요인.
>> 우리는 그 확신 그래서 일단, 우리가 원하는 문자열을 변환의 검사 f를 사용
float로 argv1.
그리고 우리는 저장하는거야 점에서 요인.
이러한 추가 문자를 확인하고있다 우리는 실제로 입력되지 않습니다
1.4 ABC 같은 명령 줄에서.
>> 이제 우리는 몇 가지 별칭을 만들거야 RV2 및 RV3가 아니기 때문에
매우 도움 이름.
우리는 대신 호출하는거야 그 파일과 파일 중.
이제 우리는 있는지 확인하는 것입니다 우리의 요인이 실제로 유효했다.
그래서 인자보다 작거나 같으면 제로 이상 100 이상, 다음과 같은 당
사양은, 우리는 거부해야 그 요인.
>> 우리가 확신 할 때 지금 우리가 할 수있는, 좋은 N 파일을 열고, 우리는 확인해야
성공적 열린 있는지 확인합니다.
그렇지 않은 경우 즉, null를 돌려줍니다.
우리는 밖으로 파일을 열 것입니다.
그리고 다시, 우리는 확인하기 위하여 검사 할 확실히 그것은 성공적으로 열려있어.
그리고 그것은 성공적으로 다음 열지 않은 경우 우리는 또한 닫아야 할 필요가
N 파일에있는 원래 성공적으로 열, 그렇지 않으면 우리는이
메모리 누수.
>> 그래서 지금 우리는 비트 맵에서 읽을거야 파일 헤더와 비트 맵 정보
N 파일에서 헤더.
우리는 있는지 확인하는 것입니다 n 개의 파일이 올바른 비트 맵이었다.
OK.
>> 그래서 지금 우리는 시작하는거야 일부 변경.
우리는 변화 될 것입니다 그래서 때문에 일이, 우리는 먼저 기억하고 싶은
N 파일의 오래된 폭.
우리는 기존의 패딩을 기억하고 싶은 동일한 계산을 사용하여 N 파일
copy.c.에서
>> 그리고 지금 우리가 바꿀 것입니다 비트 맵 정보 헤더.
그래서 우리는 폭을 모두 곱입니다 그 이후 계수를 높이
그것은 우리가로 확장하는거야.
우리는 결정하는거야 파일로의 새로운 패딩
새 너비를 사용하여.
그리고 우리는 새를 결정하는거야 숫자를 사용하여 화상의 크기
가는 하나의 행에있는 바이트 해당 행의 화소 수있을
배 픽셀의 사이즈에, 끝에 패딩 바이트 수
해당 행의, 그리고 모든 것을 곱 우리가 가지고있는 행의 수만큼.
그래서 바이트 수의 우리는 우리의 이미지 데이터에 있습니다.
>> Bf.Bfsize 이제 숫자가 될 것입니다 우리의 이미지 베타 바이트 +
우리의 헤더의 크기입니다.
비트 맵 파일 헤더 너무 크기 플러스 와 비트 맵 정보 헤더의 크기입니다.
OK.
그래서 우리의 헤더를 위해이다.
우리는 파일 쓰기 헤드 수 우리 밖으로에 대한 정보를 헤더
파일, 우리는 좋은거야.
>> 지금은 실제로 시작하는 시간 화소를 작성
아웃 파일에 데이터를 저장합니다.
우리는 크기의 버퍼를 선언하는거야 오래된 폭 RGB는 세 배로, 우리는거야
라는 변수를 선언하는 것 우리가려고하고있다 행 마비,
처음에 음의 1과 동일하게 설정.
우리는 우리가 사용하는 거라고 볼 수 있습니다 그 무엇을 추적하기 위해
우리가 현재로드 한 행 이 버퍼에.
OK.
>> 그래서 지금, 표준 버전과는 달리 대신에에에 대해 반복의
파일, 우리는 각각의 반복거야 아웃 파일의 행 및 파악
우리가 원하는에있는 파일에있는 행 아웃 파일에이 행에 배치합니다.
그래서 밖으로의 모든 행에 대해 반복 새로운 높이를 사용하여 파일을, 우리는 처음이에요
이전에 행을 결정하는 것 우리는 우리가있어, 이는 사용하고자하는 파일을
이 전류를 복용 할 것 행 계수로 나눈 값입니다.
그래서 우리에게 행을 줄 것 우리가 원하는 오래된 파일.
>> 그래서 지금의 경우 행 감각이 동일하지 오래된 Y 않습니다, 우리는 열을 읽기해야 할 것입니다
우리는 우리의 현재 행을 버퍼에 원하는.
그래서 우리가 어떻게 그렇게 할거야?
첫째, 우리는 알아낼거야 에 해당 행을 시작 위치
원본 파일.
그래서 위치가 될 것입니다 우리의 모든 헤더와 과거
지금은 과거의 오래된 Y 행.
>> 그리고 얼마나 많은 바이트 단일 행에?
또, 배 배 RGB의 크기 이전 폭 플러스 된 패딩, 그래서의
하나의 행에있는 바이트 수.
그리고 우리는 지난 오래된 Y 행을 건너 뛰려.
그래서 우리는 f를 추구하는 것입니다 그리고 우리는 야 에서 시작하도록 설정을 추구하여
파일의 시작.
우리는이 위치를 추구 F에가는거야 파일에 우리를 넣어
우리가 원하는 행의 시작 우리의 버퍼로 읽을 수 있습니다.
>> 우리는 행을 설정하는거야 이전 예와 동일한 감각.
그래서 지금 만약 우리 루프 다시 우리가 원하는 우리 중 파일에서이 같은 행을 사용하여,
우리는 읽을하지 않을거야 거기에 다시 불필요.
그래서 정말, 행 마비는 그냥 최적화.
>> 마지막으로, 우리는에 읽을거야 현재 행 이전의 폭 RGB는 세 배로
우리는 원본 파일에서 원하는 것을.
그래서 지금 현재 행에서 픽셀을 포함 우리가 원하는 원본 파일
아웃 파일로 작성합니다.
그래서 지금, 바로 위에 좋아, 대신 이전 파일 반복, 우리는 필요
그것은 새로운 파일 행을 반복합니다.
자, 여기, 대신에 반복의 모든 이전 픽셀의 현재 행에있는,
우리는 모두를 반복 할 이 우리의 새 파일의 픽셀
특정 행.
>> 왜 우리는 그렇게 할 수 있습니까?
우리는 우리가하지 않은 것을 여기에서 볼 수 있기 때문에 실제로 반드시 모두 사용
원본 파일의 픽셀.
우리가 감소하는 경우, 우리는 수 있기 때문에 실제로 픽셀을 건너 뛰려.
그리고 우리는 이것을 볼 -
X 팩터로 나눈 -
우리는 Y 말을 어디 밀접 여기에 반영 파악하는 요인으로 나누어 그
이전 Y 번째 행에 해당 이 새로운 파일의 Y 번째 행.
>> 이제 우리는 모두를 쓸거야 이전 행에서 이러한 픽셀
우리의 새로운 행에.
우리가 그 일을 한 후에, 우리는 필요 단지 우리 행의 끝에 패딩 두어
그리고 우리는 루프를 거하고 계속 새로운 파일의 모든 행.
결국, 우리는 우리의 오래된을 닫을 필요 , 파일을 새로운 파일을 닫고 반환
제로 모든 것이 잘 갔다하기 때문이다.
>> 내 이름은 롭이는 쉬는 시간이었다.
>> [음악 연주]