Đề tài Xử lý và chọn mẫu màu cho công đoạn in thử một mẫu in hoa tại nhà máy dệt Tân Tiến

 Lời nói đầu 2

 Phần I : Giới thiệu công nghệ sản xuất vải in hoa 5

 1. Công nghệ in hoa 5

 2. Giới thiệu bài toán 6

 Phần II : Các phép biến đổi để lớp Film trùng khít nhau 8

 I. Các khái niệm tổng quan của KT đồ hoạ 8

 II. Phép biến đổi để các lớp Film trùng khít 10

 1. Tạo lớp Film 10

 2. Các phép toán điều chỉnh trùng khít 11

 Phần III. Tìm hiểu một số File ảnh vàhê5 màu 18

 I. Tìm hiểu một số file ảnh 18

 II. Tìm hiểu về hệ màu 23

 Phần IV. Tìm hiểu cơ sở dữ liệu của bài toán 25

 1. Giới thiệu chung về việc chọn màu in hoa 25

 2. Cơ sở dữ liệu 25

 3. Tìm hiểu về đối tượng ADO 27

 4. Xây dựng ứng dụng VB với ADO 27

 5. Cài đặt và thiết lập tham chiếu đến ADO 28

 Phần V : Thiết kế và cài đặt chương trình 29

 1. Cấu trúc chương trình 29

 2.Thực nghiệm chọn màu một mẫu hoa 30

 3. Một số thủ tục chính trong chương trình 33

 Phần VI : Nhận xét 54

 Mục lục 55

 Tài liệu tham khảo 56

 

doc55 trang | Chia sẻ: huong.duong | Lượt xem: 1170 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Xử lý và chọn mẫu màu cho công đoạn in thử một mẫu in hoa tại nhà máy dệt Tân Tiến, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ằng –1 thì phép biến đổi thu được sẽ là phép lấy đối xứng qua gốc tọa độ. Phép biến dạng : Khi a và d = 1 bất biến thì tọa độ của P’ phụ thuộc vào sự thay đổi của b và c, Giả sử với c = 0. Ta có : Điểm P’ thu được sẽ không thay đổi giá trị tọa độ x còn giá trị ý biến đổi không chỉ theo b mà còn phụ thuộc vào cả x. Và điều đó ngược lại khi chúng ta thay đổi với a = d = 1; b= 0; hiệu ứng biến dạng sẽ xảy ra theo trục y. Điểm gốc tọa độ sẽ bất biến qua mọi phép biến đổi. Điều đó được chứng minh qua phương trình sau với điểm P = [0 0] trùng với gốc tọa độ. P’ x’ = cy + x Y=bx+y Cy P P’ P bx 0 1 2 3 0 1 2 3 Phép biến dạng theo trục y Phép biến dạng theo trục x Phép biến đổi tổng hợp : Phương pháp biến đổi sử dụng phép nhân ma trận với tọa độ điểm thông qua các vectơ vị trí thật sự hiệu quả và đem lại công cụ và đem lại công cụ mạnh về đồ họa cho người sử dụng. Tuy nhiên những thao tác thường cần không chỉ một mà rất nhiều các phép biến đổi khác nhau. Phép hoán vị khi nhân ma trận không được cho phép thực hiện nhưng khả năng tổ hợp các phép nhân lại cho phép tạo ra một ma trận biến đổi duy nhất. Điều đó làm giảm bớt được khối lượng đáng kể các phép tính toán trong quá trình biến đổi, làm tăng tốc đáng kể các chương trình ứng dụng và tạo điều kiện cho việc quản lý các biến đổi trong ứng dụng. Giả sử ta có điểm P với tọa độ [X] = [x y] và 2 phép biến đổi là [T1], [T2] với Quay điểm P quanh gốc tọa độ một góc 900 và Lấy đối xứng qua gốc tọa độ Ta có : Là tọa độ [X’] của P’ qua phép biến đổi [T1] và Là tọa độ của P’ qua [T2] Giả sử ta có [T3] là ma trận biến đổi tổng hợp của hai ma trận [T1] và [T2], giá trị sau khi biến đổi [x y] qua [T3] thu được có dạng : Điều đó đúng với mọi phép biến đổi [T1] và [T2] chúng ta có thể nói việc biến đổi qua nhiều ma trận thành phần sẽ tương đương với phép biến đổi qua ma trận tổng hợp từ các phép biến đổi đó. Phép Quay : Giả sử ta có điểm P với tọa độ ban đầu là (x, y) hay tương ứng với ma trận [ x y ] qua phương pháp biểu diễn vector ( hình dưới ) làm thành với trục X một góc a. Cho P quay quanh gốc tọa độ O một góc b có bán kính tương ứng là r thu được điểm P’. Qua hình vẽ giá trị P và P’ có dạng : P = [ x y ] = [ r.cosa r.sina] (1) P’ = [ x’ y’ ] = [ r.cos(a+b) r.sin(a+b)] (2) Phương trình (2) qua phép biến đổi lượng giác được đưa về dạng : P’ = [ x’ y’ ] = [ r(cosa. cosb - sina.sinb) r(cosa. sinb + sina.cosb)] (3) Từ (1) và (3) ta có : P’ = [ x’ y’ ] = [x. cosb - y.sinb x.sinb + y.cosb] Hay tương đương với : X’ = x. cosb - y.sinb Y’ = x.sinb + y.cosb Phép biến đổi thông qua cách viết ma trận có dạng sau : [X’] = [X].[T] = [x’ y’] = [x y].[x. cosb - y.sinb x.sinb + y.cosb] Như vậy ma trận biến đổi tổng quát [T] khi quay một điểm quanh gốc tọa độ dưới một góc a bật kỳ có dạng : Giá trị dương thu được khi góc quay ngược chiều kim đồng hồ. Giả sử khi quay P một góc -a thì ma trận [T] có thể tính được như sau : Từ các phép biến đổi trên đưa vào bài toán đang xây dựng ta cần chọn trên mỗi tấm Film Slide hai điểm chuẩn (Rappo1 và Rappo2), sau đó ta chọn tấm Film Slide đầu tiên (Gọi là lớp 0) hai điểm chuẩn đánh dấu “+” sau đó tất cả các tấm Film Slide sau cũng đều đánh dấu “+” trùng với tấm đầu tiên. Như vậy sau khi quét vào máy nhiệm vụ của ta là phải dùng 2 phép biến đổi trên để đưa các điểm Rappo của các tấm Film Slide sau (Từ lớp 1 trở đi) trùng với 2 điểm Rappo của lớp 0 : bằng cách dịch điểm Rappo1 của các lớp 1,2, … trùng với điểm rappo1 của lớp 0, sau đó xoay điểm Rappo2 quanh điểm Rappo1 để trùng với điểm Rappo2 của lớp 0 như vậy ta được các tấm Film Slide trùng khít lên nhau. PHẦN III : TÌM HIỂU MỘT SỐ FILE ẢNH VÀ HỆ MÀU I. Tìm hiểu một số File ảnh : File ảnh PCX : Cấu trúc của PCX Header : Có chiều dài là 128 bytes. Header được chia làm 3 vùng : Vùng 1 : các thông tin chính bao gồm password, version, kiểu nén, số bits lưu trữ mỗi pixel, kích thước ảnh, độ phân giải ngang, dọc. Vùng 2 : Các thông tin về Palette. Vùng 3 : Các thông tin phụ trợ bao gồm : video mode, số planes màu, số bytes mỗi dòng quét, kiểu Palette… Nội dung Header được mô tả chi tiết sau : Byte# Kích thước Data 0 1 Password 1 1 Version 2 1 Encode 3 1 Bits per pixel 4 8 Window 12 2 Hres 14 2 Vres 16 48 Palette 64 1 Video mode 65 1 Num of planes 66 2 Bytes per line 68 2 Palette info 70 58 Unuser Các thông tin chính : Password = A0h : dạng tập tin PCX. Version : có các giá trị : 0 : version 2.5 2 : version 2.8 ( có Palette) 3 : Version 2.8 ( không có Palette) 4 : PC Paintbrush for Windows 5 : version 3.0 hay lớn hơn. Encode = 1 (run – length) : mã dạng tập tin PCX thông thường. Bits per pixel : số bit dành cho một pixel trên một plane. Đối với ảnh VGA 16 màu, 4 planes, một pixel ảnh cần 4 bit và một bit trên một plane thì bits per pixel = 4. Đối với ảnh VGA 256 màu, 1 planes, một pixel cần 8 bit thì bits per pixel = 8. Windows là một bộ bốn (x1, y1, x2, y2) xác định tọa độ góc trái bên trên và góc phải bên dưới của cửa sổ hình chữ nhật trên màn hình mà ảnh hiện lên, Window xác định kích thước của ảnh. Đối với tập tin PCX, (x1, y1) là góc trái bên trên màn hình (x1 = y1 = 0) và (x2 = xmax, y2 = ymax) là góc phải bên dưới tùy theo mode màn hình. Hres, Vres : độ phân giải ngang, dọc của màn hình. Các thông tin phụ trợ : Video mode : vùng này thường được bỏ qua và có giá trị 0. Num of planes : là số planes cần thiết để lưu trữ 1 pixel. Thường số planes bằng số bit cần thiết để lưu trữ 1 pixel. Để biết giá trị của một pixel thì phải đọc đồng thời trên tất cả các planes, do đó tốc độ bung ảnh sẽ chậm. Giá trị của num of planes liên quan đến giá trị lưu tại bits per pixel. Bytes per line : là số byte cần thiết cho một dòng quét trên màn hình cho 1 plane. Với PCX, BytesPerLine = (Hres * BitsPerPixel) / 8. Với độ phân giải 640 * 480 : BitsPerPixel = 1, BytesPerLine = 80. Palette info : cho biết ảnh thuộc loại màu (color / mono) Unused : là vùng không dùng đến. Vùng dữ liệu : Dữ liệu ảnh được sắp xếp thứ tự từ trái qua phải và từ trên xuống dưới. Mỗi dòng quét ảnh được mã hóa riêng theo giải thuật run-length. Dữ liệu ảnh mono được hưu như bitmaps. Bảng màu : Bảng màu có kích thước 769 bytes. Bảng màu là nơi lưu trữ các phần cơ bản tạo nên màu của các pixel được lưu trữ trong vùng sự liện. Tỷ lệ các thành phần cơ bản (red, green, blue) khác nhau sex tạo nên màu khác nhau. Do đó, tỷ lệ này cần lưu trữ trong header đồng thời với việc lưu trữ để hình ảnh được trung thực khi hiện lên màn hình máy tính. Thường với mode EGA / VGA có 16 thanh ghi Palette nên vùng lưu trữ thông tin về bảng màu ở header gồm 16 * 3 = 48 bytes. Mỗi thanh ghi Palette tương ứng với một bộ phận 3 thành phần màu cơ bản tương ứng với màu chỉ ra bởi Palette ở hình dưới : … Red Green Blue … Bảng màu Do đó, trước khi hiển thị, thông tin về bảng màu cần được nạp trở lại các thanh ghi Palette trong adaptor màn hình. File ảnh TIFF : File ảnh Tiff được thiết kế làm giảm nhẹ bớt các vấn đề liên quan đến việc mở rộng file ảnh cố định, về cấu trúc nó cũng gồm ba phần chính : Phần Header (IFH) : có trong tất cả các file Tiff : 1 word : chỉ ra kiểu sử dụng để tạo file do máy PC hay Macintosh, hai loại này rất khác nhau ở thứ tự các bytes lưu trữ trong các số dài 2 hay 4 bytes. 2 word : version. Từ luôn có giá trị là 42. Có thể coi là đặc trưng của file Tiff vì nó không thay đổi. 3 word : giá trị Offset tính theo byte tính từ đầu file tới cấu trúc IFD (Image File Directory) là cấu trúc thứ hai của file. Thứ tự các bytes ở đây phụ thuộc vào dấu hiệu trường đầu tiên. Phần thứ 2 (IFD) : nó không ở ngay sau IFH mà vị trí nó được xác định bởi trường Offset trong đầu file. Có thể có một hay nhiều IFH cùng tồn tại trong file (nếu file có nhiều hơn một ảnh). Phần này bao gồm : 2 bytes : chứa các DE (Directory Entry) 12 bytes : là các DE xếp liên tiếp. Mỗi DE chiếm 12 bytes. 4 bytes : Offset trỏ tới IFD tiếp theo. Nếu đây là IFD cuối cùng thì trường này bằng 0. Phần thứ 3 : các DE Các DE có độ dài cố định là 12 bytes và chia làm bốn phần : 2 bytes : chỉ ra dấu hiệu mà file ảnh đã được xây dựng. 2 bytes : kiểu dữ liệu tham số ảnh. Có 5 kiểu cơ bản : 1 : BYTES (1 byte) 2 : ASCII (1 byte) 3 : SHORT (2 byte) 4 : LONG (4 byte) 5 : RATIONAL (8 byte) 4 bytes : trường độ dài (bộ đếm) chứa số lượng chỉ mục tiêu của dữ liệu đã được chỉ ra. Nó không phải tổng số bytes cần thiết để lưu trữ. Để có số liệu này ta cần nhân chỉ số mục với kiểu dữ liệu đã dùng. 4 bytes : đó là Offset tới điểm bắt đầu dữ liệu thực liên quan với DE không phải lưu trữ vật lý cùng với nó nằm ở 1 vị trí nào đó trong file. Dữ liệu được chứa trong file thường được tổ chức thành các nhóm dòng (cột) quét của dữ liệu ảnh. Cách tổ chức này làm giảm bộ nhớ cần thiết cho việc đọc file. Việc giải nén thực hiện theo 4 kiểu khác nhau được lưu trữ trong dấu hiệu nén. Như đã nói trên, file ảnh TIFF dùng để giải quyết vấn đề khó mở rộng của file PCX. Tuy nhiên, với cùng một ảnh thì việc dùng file PCX chiếm ít không gian nhớ hơn. File ảnh BMP : Cấu trúc file ảnh BMP bao gồm các phần chính sau : BMP Header : được mô tả như sau : Byte# Data Chi tiết 1 – 2 Dấu nhận dạng ‘BM’ 3 – 6 Kích thước file 2 words 7 – 10 Dành riêng Thường là 0 11 – 14 Offset đến Bitmap Data Tính từ đầu file Bitmap Info : được mô tả như sau : Byte# Data Chi tiết 1 – 4 Số byte trong Header Thường là 40 bytes 5 – 8 Chiều rộng của bitmap Bằng pixel 9 – 12 Chiều cao của bitmap Bằng pixel 13 – 14 Số planes màu Thường là 1 15 – 16 Số bit trên pixel 17 – 20 Dạng nén 21 – 24 Kích thước ảnh Bằng bytes 25 – 28 Độ phân giải ngang Bằng pixels / mét 29 – 32 Độ phân giải dọc Bằng pixels / mét 33 – 36 Số màu dùng cho bitmap Thường là 0 (tất cả) 37 – 40 Số màu quan trọng Thường là 0 (tất cả) Dạng nén : 0 : không nén 1 : run – length (8 bits / pixel) 2 : run – length (4 bits / pixel) Color map : mỗi phần tử màu gồm 4 bytes : … Red Green Blue Reserved … Bitmap Data : các pixels được lưu trữ theo hàng, từ trái sang phải cho mỗi dòng, các hàng được lưu trữ từ dưới lên trên. Như vậy, bitmap sẽ được thể hiện từ góc dưới trái. II. Tìm hiểu về hệ màu : Màu sắc đối tượng mà chúng ta quan sát được không chỉ phụ thuộc vào bản thân của đối tượng mà còn phụ thuộc vào nguồn sáng, môi trường xung quanh đối tượng cũng như hệ thống cảm nhận của con người. Một số các đối tượng phản xạ lại các tia chiếu lên chúng (như tường, giấy, kim loại) trong khi một số khác cho ánh sáng đi xuyên qua (như màng mỏng, kính…). Khi một bề mặt chỉ phản xạ các tia sáng xanh dương được chiếu bởi một nguồn sáng đỏ thí nó có màu đen, tương tự khi ánh sáng màu lục được nhìn qua một tấm kính chỉ cho tia sáng đỏ đi qua nó cũng có màu đen. Giác quan thị giác của con người cảm nhận được các vật xung quanh thông qua các tia sáng mầu tốt hơn rất nhiều so với các vật chỉ có hai màu đen trắng. Vì vậy trong kỹ thuật đồ hoạ việc xây dựng nên các đối tượng màu là những lý thuyết cơ bản mà nền tảng cơ sở là lý thuyết về màu sắc. Mô hình màu là một chỉ số kỹ thuật của một hệ toạ độ màu ba chiều và tập các màu nhỏ thành phần có thể trông thấy được trong hệ thống tọa độ màu thuộc một gam màu đặc trưng. Ví dụ như mô hình màu RGB(Red, Green, Blue) là một tập các màu thành phần sắp xếp theo hình lập phương của hệ trục toạ độ Đề các. Mô hình màu RGB (RED-GREEN-BLUE): ĐỎ-LỤC-LAM : Màu đỏ, lục : Xanh lá cây, lam : Xanh da trời (RGB) được sử dụng rộng rãi trên màn hình CRT và các loại màn hình có đồ hoạ Raster màu dựa vào hệ toạ độ Đề các. Gam màu được thể hiện trong hệ màu RGB được xác định bằng những đặc tính của hiện tượng phát quang của các chất phốt pho trong màn hình CRT. Hai màn hình CRT với 2 loại chất phốt pho khác nhau sẽ cho ra các gam màu khác nhau. Sự biến đổi màu được định rõ trong gam màu của một CRT so với gam màu của một CRT khác. Mô hình màu CMY (CYAN, MAGENTA, YELLOW) Xanh tím, đỏ tươi, vàng : Là phần bù tương ứng cho các màu đỏ, lục, lam và chúng được sử dụng như những bộ lọc loại trừ các màu này từ ánh sáng trắng. Vì vậy CMY còn được gọi là các phần bù loại trừ của màu gốc. Tập hợp màu thành phần biểu diễn trong hệ toạ độ Đề các cho mô hình màu CMY cũng giống như cho mô hình màu RGB ngoại trừ màu trắng (ánh sáng trắng) được thay thế màu đen (Không có ánh sáng) ở tại nguồn sáng. Các màu thường được tạo thành bằng cách loại bỏ hoặc được bù từ ánh sáng trắng hơn là được thêm vào những màu tối. Mô hình màu YIQ Mô hình màu YIQ là mô hình màu được ứng dụng trong truyền hình màu băng tần rộng tại Mỹ, và do đó nó có mối quan hệ chặc chẽ với màn hình đồ hoạ màu Raster. YIQ là sự thay đổi của RGB cho khả năng truyền phát và tính tương thích với ti vi đen trắng thế hệ trước. Tín hiệu truyền sử dụng trong hệ thống NTSC (National Television System Committee). Thành phần Y của YIQ không phải là màu vàng mà là thể sáng và được xác định giống như màu gốc Y của CIE. Chỉ riêng thành phần Y của một tín hiệu ti vi màu được thể hiện trên ti vi đen trắng. Màu được mã hoá trong 2 thành phần còn lại là I và Q. Màu YIQ sử dụng hệ toạ độ Đề các 3 chiều với tập các thành phần nhìn thấy được biểu diễn như một khối đa diện lồi trong khối lập phương RGB. PHẦN IV : TÌM HIỂU CƠ SỞ DỮ LIỆU CỦA BÀI TOÁN Giới thiệu chung về việc chọn màu cho in hoa : Trong thực tế sản xuất, việc chọn màu cho mẫu in căn cứ trên các màu được lưu trong quá trình thử màu tại phòng thí nghiệm. Các màu này được lưu trong sổ lưu mẫu màu (còn gọi là Catalog màu), mỗi loại vải có một Catalog màu khác nhau trong đó có ghi công thức thuốc nhuộm tạo nên màu trong catalog. Khi có mẫu hoa cần in thử, nhân viên thử màu sẽ chọn màu cho mẫu hoa dựa trên các màu đã có sẵn trong Catalog màu, nếu màu khách hàng yêu cầu không có trong Catalog màu thí nhân viên thí nghiệm sẽ tiến hành thí nghiệm để tạo ra màu theo yêu cầu của khách hàng, sau đó lưu vào sổ catalog màu. Ví dụ : Loại vải : Phi bóng (FH03) Màu : GR75 Thành phần thuốc nhuộm : Tỷ lệ - Dianix Yellow Brown FG 2S 0.05% - Dianix Black FK 2S 0.3% - Dianix Rubin RS 3TH 0.5% Cơ sở dữ liệu : Từ thực tế trên, để việc chọn màu bằng chương trình trước tiên ta cần đưa các dữ liệu trong catalog màu vào máy tính dưới dạng cơ sở dữ liệu. Ở đây tôi xây dựng cơ sở dữ liệu bằng Microsoft Access 97. Lược đồ quan hệ : THUOCNHUOM - MSThuocnhuom - Tenthuocnhuom DONIN - IDDonin - Ngayin (1,n) (1,n) TYLE - IDTyle - Tyle (1,n) LOAIVAI - MSVai - TenVai - PE - Cotton MAUIN - IDMauin - Tenmau - Mau (1,n) Mô hình tổ chức dữ liệu : LOAIVAI(MSVai, TenVai, PE, Cotton) MAUIN(IDMauin, TenMau, Mau) THUOCNHUOM(MSThuocnhuom, Tenthuocnhuom) TYLE(IDTyle, IDMauin, MSThuocnhuom, IDDonin, Tyle) DONIN(IDDonin, MSVai, ngayin) Mô hình vật lý dữ liệu : LOAIVAI(MSVai, TenVai, PE, Cotton) LOAIVAI Field name Data Type Field size Validation Rule MSVai Text 10 Tenvai Text 30 PE Integer Cotton Integer MAUIN(IDMauin, TenMau, Mau) MAUIN Field name Data Type Field size Validation Rule IDMauin AutoNum TenMau Text 15 Mau Long THUOCNHUOM(MSThuocnhuom, Tenthuocnhuom) THUOCNHUOM Field name Data Type Field size Validation Rule MSthuocnhuom Text 10 Tenthuocnhuom Text 50 TYLE(IDTyle, IDMauin, MSThuocnhuom,IDDonin,Tyle) TYLE Field name Data Type Field size Validation Rule IDTyle AutoNum Tyle Double DONIN(IDDonin,MSVai,ngayin,) DONIN Field name Data Type Field size Validation Rule IDDonin AutoNum Ngayin Date CSDL được thiết kế bằng Ascess97 được nhúng vào VB6.0 thông qua đối tượng dữ liệu ADO (ActiveX Data Objects). Tìm hiểu về đối tượng ADO : Cho đến VB 5.0 ADO (Dữ liệu đối tượng ActiveX – ActiveX Data Object) trở thành nền tảng của kỹ thuật truy cập cơ sở dữ liệu Internet. Trong VB 6.0, ADO càng quan trọng hơn – mạnh mẽ hơn. Ta có thể dùng ADO không chỉ truy cập cơ sở dữ liệu thông qua trang Web, mà còn có thể dùng nó để lấy dữ liệu từ ứng dụng viết bằng VB. ADO là giao diện dựa trên đối tượng cho công nghệ dữ liệu mới gọi là OLE DB. OLE DB được thiết kế để thay thế ODBC như một phương thức truy cập dữ liệu. ODBC hiện thời là tiêu chuẩn phía Client sử dụng Windows rất phổ biến để truy cập các dữ liệu quan hệ bởi vì nó thiết lập các Server cơ sở dữ liệu quan hệ càng tổng quát càng tốt đến các ứng dụng Client. OLE DB đi sâu hơn một bước, bằng cách làm cho tất cả nguồn dữ liệu trở thành tổng quát đối với ứng dụng Client. Xây dựng ứng dụng VB với ADO : ADO là công nghệ truy cập cơ sở dữ liệu hướng đối tượng tương tự DAO và RDO. ADO hiện nay được Microsoft xem là kỹ thuật để truy cập cơ sở dữ liệu từ Web server. Bởi vì ADO được cung cấp dưới dạng thư viện ActiveX Server (tương tự DAO và RDO), ta có thể thoải mái dùng ADO trong ứng dụng VB. Trong thực tế, bằng nhiều cách, ta sẽ thấy rằng sử dụng ADO để làm việc với cơ sở dữ liệu Client/Server thì dễ hơn các kỹ thuật khác. Phần lớn các lập trình viên VB không tương tác trực tiếp với OLE DB. Thay vào đó, họ lập trình với ADO, mô hình đối tượng cung cấp giao tiếp với OLE DB. Trình cung cấp OLE DB không nhiều như các trình điều khiển ODBC, nhưng số lượng này đã tăng lên đáng kể từ khi ADO 2.0 được phát hành vào năm 1998. Phiên bản này đã được đưa vào VB 6.0, bao gồm các trình cung cấp cục bộ cho SQL server, Microsoft Jet/Accesss. Ta chỉ cần lập trình với phần giao diện người sử dụng ở phía Client. Bởi vì việc truy cập dữ liệu trên cả trình duyệt Web và ứng dụng VB được chuyển hết về phía ActiveX Server, ta có thể bảo đảm rằng logic chương trình luôn nhất quán, bất kể loại ứng dụng nào đang được dùng. Cài đặt và thiết lập tham chiếu đến ADO trong ứng dụng Visual Basic : ADO được cài đặt như một phần của Visual Basic 6.0 Sau khi cài đặt xong, ta bắt đầu sử dụng nó bằng cách thiết lập tham chiếu đến thư viện ADO trong ứng dụng VB, tương tự như khi thiết lập tham chiếu đến DAO. PHẦN V : THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH Cấu trúc chương trình : v Các chức năng chính của chương trình Tạo các lớp Film slide từ File ảnh đen trắng (Dùng Scaner) Điều chỉnh các lớp Film trùng khít lên nhau (Qua 2 điểm Rappo) Chọn màu cho các lớp Film từ CSDL màu Thiết kế theo chức năng của chương trình thì ta có biểu đồ phân bố chức năng của chương trình như sau : Chương trình chọn màu cho mẫu hoa Điều chỉnh các lớp Film trùng Rappo Chọn màu cho các lớp Film từ CSDL màu Tạo các lớp Film Slide trên máy tính Ngoài ra khi chúng ta tiến hành cài đặt chương trình chúng ta cần phải thực hiện qui tắc chung là giao tiếp người – máy, do đó cần phải có thêm công cụ trợ giúp cho quá trình chọn màu cho mẫu hoa bằng máy tính. v Giao diện chính của chương trình : Chọn lớp CSDL màu Xem tất cả các lớp đã có Xóa trắng màn hình Xem lại lớp(Slide) Tạo lớp (Slide) Lấy lớp Chương trình được viết bằng Visual Basic 6.0 chạy trên Hệ điều hành Windows . CSDL được thiết kế bằng Ascess97 được nhúng vào VB6.0 thông qua đối tượng dữ liệu ADO (ActiveX Data Objects) Thực nghiệm chọn màu một mẫu hoa : Sau khi cài đặt chương trình, chúng ta tiến hành thực nghiệm chọn màu cho một mẫu hoa để đánh giá kết quả. Sau đây là một số thực nghiệm thu được : Từ bộ mẫu Film slide, ta scan vào máy tính với các tập tin sau : Class1.wfm, Class2.Wfm, Class3.Wfm, Class4.Wfm, Class5.Wfm, Class6.Wfm, Class7.Wfm Sau đó lần lượt tạo thành các lớp trong chương trình là : Class1, Class2, Class3, Class4, Class5, Class6, Class7. Điều chỉnh Rappo và chọn màu từ CSDL màu : Sau khi đã chọn các lớp và chọn các điểm rappo chuẩn, ta chọn nút lệnh preview, nút lệnh này sẽ gọi thủ tục Preview() tiến hành tính toán điều chỉnh các các lớp cho trùng khít . Nhập cơ sở dữ liệu màu vào chương trình : Căn cứ vào Catalog màu của phòng thí nghiệm người sử dụng chương trình sẽ tiến hành quét mẫu màu và dữ liệu thuốc in vào thông qua Form Datainput và lưu vào CSDL của chương trình Từ ô mẫu màu bên phải người sử dụng điều chỉnh ba thông số RBG để đạt được màu như màu CATALOG. Một số thủ tục chính trong chương trình : a. Thủ tục lấy File từ ổ đĩa và tạo lớp Film : Private Sub CmdImport_Click() On Error GoTo DialogError With CommonDialog1 .CancelError = True .Filter = "AllFile (*.*)|*.*|Windows Bitmap (*.Bmp)|*.Bmp|Windows MetaFile (*.Wmf)|*.Wmf " .DialogTitle = "Select a class slide to open" .ShowOpen PicSlaver.Picture = LoadPicture(.FileName) End With DialogError: PicSlaver.Move 0, 0 HScngang.Max = Abs(PicSlaver.Width - PicMain.Width) VScdoc.Max = Abs(PicSlaver.Height - PicMain.Height) End Sub Private Sub CmdTaolop_Click() Static i, j As Integer FrmMain.MousePointer = 11 Select Case lop Case 0 Taolop Lop0 = A ReDim A(1) Case 1 Taolop Lop1 = A ReDim A(1) Case 2 Taolop Lop2 = A ReDim A(1) Case 3 Taolop Lop3 = A ReDim A(1) Case 4 Taolop Lop4 = A ReDim A(1) Case 5 Taolop Lop5 = A ReDim A(1) Case 6 Taolop Lop6 = A ReDim A(1) Case 7 Taolop Lop7 = A ReDim A(1) Case 8 Taolop Lop8 = A ReDim A(1) Case 9 Taolop Lop9 = A ReDim A(1) End Select FrmMain.MousePointer = 1 End Sub Private Sub Taolop() Dim diem, i, j As Integer 'Duyet so diem mau cua lop diem = 0 For i = 1 To PicSlaver.Width For j = 1 To PicSlaver.Height If (PicSlaver.Point(i, j) = 0) Or (PicSlaver.Point(i, j) = Solop(2, lop)) Then diem = diem + 1 End If Next Next 'gan so phan tu bang so diem mau ptu = diem + 3 ReDim A(1 To 2, 1 To ptu) 'luu toa do X,Y cua diem mau diem = 4 For i = 1 To PicSlaver.Width For j = 1 To PicSlaver.Height If (PicSlaver.Point(i, j) = 0) Or (PicSlaver.Point(i, j) = Solop(2, lop)) Then A(1, diem) = i A(2, diem) = j diem = diem + 1 End If Next Next 'luu thong so (So Ptu,Rappo1,Rappo2) A(1, 1) = ptu A(1, 2) = Rappo(1, 1) A(2, 2) = Rappo(1, 2) A(1, 3) = Rappo(2, 1) A(2, 3) = Rappo(2, 2) End Sub b. Thủ tục chọn màu cho lớp Film : Private Sub Command1_Click(Index As Integer) Select Case lop Case 0 Solop(2, lop) = Command1(Index).BackColor A = Lop0 Load_pic_Color Case 1 Solop(2, lop) = Command1(Index).BackColor A = Lop1 Load_pic_Color Case 2 Solop(2, lop) = Command1(Index).BackColor A = Lop2 Load_pic_Color Case 3 Solop(2, lop) = Command1(Index).BackColor A = Lop3 Load_pic_Color Case 4 Solop(2, lop) = Command1(Index).BackColor A = Lop4 Load_pic_Color Case 5 Solop(2, lop) = Command1(Index).BackColor A = Lop5 Load_pic_Color Case 6 Solop(2, lop) = Command1(Index).BackColor A = Lop6 Load_pic_Color Case 7 Solo

Các file đính kèm theo tài liệu này:

  • docDA0662.doc
Tài liệu liên quan