專利名稱:利用顏色量化的圖像-html表格轉(zhuǎn)換的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及支持與多個電子郵件客戶端的電子郵件內(nèi)容兼容性,更具體地說,涉及用可變高度背景內(nèi)容影像生成著色表格以在多種電子郵件閱讀器中支持富內(nèi)容的系統(tǒng)和方法。
背景技術(shù):
隨著網(wǎng)頁編程語言,比如HTML,XHTML, DHTML和其它置標(biāo)語言的持續(xù)進展,尤其是隨著幫助分離web內(nèi)容的表現(xiàn)與其實際內(nèi)容的樣式表(style sheet)語言(比如層疊樣式表(CSS))的日益更普遍使用,網(wǎng)頁在內(nèi)容和表現(xiàn)兩方面都在變得越來越復(fù)雜。理想地,每種電子郵件閱讀器理應(yīng)按照相同的方式顯示任意給定電子郵件。S卩,給定電子郵件的表現(xiàn)會看起來相同,與哪種電子郵件閱讀器(例如Outlook,Gmail,Hotmail, Yahoo !,AOL等等)顯示它無關(guān)。不過,盡管web瀏覽器的廠家傾向于對瀏覽器進行頻繁、 不間斷的更新,以支持和跟上流行的網(wǎng)頁生成語言的最新變化,以便能夠呈現(xiàn)源自用不同語言編寫的多種文檔的網(wǎng)頁內(nèi)容,不過電子郵件閱讀器的廠家一般并不如此勤奮地提供對附隨的樣式表語言的所有特征的支持。例如,一些電子郵件閱讀器不支持流行的樣式表語言CSS的許多特征,包括可重復(fù)的背景圖像。結(jié)果常常是不能在電子郵件消息中發(fā)送利用樣式表語言編寫的表現(xiàn)豐富的網(wǎng)頁,并且不能期望電子郵件閱讀器像典型瀏覽器那樣地呈現(xiàn)所述網(wǎng)頁。從而,理想的是提供跨越典型的電子郵件閱讀器,使表現(xiàn)豐富的內(nèi)容可讀和可表現(xiàn)的技術(shù)。
發(fā)明內(nèi)容
本發(fā)明的實施例目的在于靈活的電子郵件消息生成模板建立技術(shù)和系統(tǒng),及具有內(nèi)容豐富的影像和按照插入其中的用戶內(nèi)容的數(shù)量而增大和縮小的自動擴展用戶可編輯內(nèi)容區(qū)的電子郵件生成模板。在一個實施例中,通過把圖像中的每個像素量化成多個離散顏色;生成包含多個表格單元格的電子郵件可讀表格,每個表格單元格對應(yīng)于一個離散的像素組,量化圖像中的每個像素只屬于一個離散的像素組,每個離散的像素組包含至少一個像素,并且或者對應(yīng)于單個像素,或者對應(yīng)于已被量化成相同的離散顏色并被排列在具有在第一維度的第一數(shù)目的像素和在第二維度的第二數(shù)目的像素的量化圖像中的多個相鄰像素;和把每個相應(yīng)表格單元格的背景顏色設(shè)定成屬于相應(yīng)表格單元格的對應(yīng)離散像素組的像素的離散顏色, 像素化圖像被轉(zhuǎn)化成電子郵件可讀表格。其它實施例包括電子郵件消息模板生成系統(tǒng)和技術(shù),及電子郵件消息生成系統(tǒng)和技術(shù)。
圖1圖解說明表現(xiàn)豐富的電子郵件消息模板的例子。圖2圖解說明在圖1中圖解說明的文檔的例證實現(xiàn)。圖3示意地圖解說明圖像-表格轉(zhuǎn)換器進行的背景圖像文檔到表格的轉(zhuǎn)換。圖4是圖解說明在圖像-表格轉(zhuǎn)換器的一個例證實施例中進行的步驟的流程圖。圖5是例證的像素化圖像和用圖像-表格轉(zhuǎn)換器的一個實施例會獲得的像素的例證分組的放大視圖,和由此產(chǎn)生的著色表格。圖6是圖解說明本發(fā)明的實施例的工作網(wǎng)絡(luò)環(huán)境的方框圖。圖7是圖解說明電子出版工具可在其中工作的用戶計算機環(huán)境的方框圖。圖8圖解說明可用于生成可變高度內(nèi)容圖像的例證最小圖像。圖9圖解說明例證的電子郵件消息生成模板。
具體實施例方式本發(fā)明的實施例實現(xiàn)靈活的電子郵件消息生成模板建立技術(shù)和系統(tǒng),及具有內(nèi)容豐富的影像和按照插入其中的用戶內(nèi)容的數(shù)量而擴大和縮小的自動擴展用戶可編輯內(nèi)容區(qū),同時適合于由多種不同種類的電子郵件閱讀器顯示的電子郵件生成模板。首先參見圖1,圖中表示了表現(xiàn)豐富的電子郵件消息模板100的例子,電子郵件消息模板100包括頁眉102,頁腳104和中間區(qū)域110。頁眉102和頁腳104可包括插入前景中的用戶可編輯或不可編輯的內(nèi)容,比如影像和文本。在模板中,頁眉102和頁腳104最好被配置成不能被模板的最終用戶編輯,不過也可被配置成在所有內(nèi)容(模板設(shè)計者提供的內(nèi)容和最終用戶提供的內(nèi)容)都被插入內(nèi)容區(qū)的前景層中的時候是可編輯的。中間區(qū)域110包括背景圖像112和前景用戶可編輯內(nèi)容容器114。用戶可編輯內(nèi)容區(qū)114可以占據(jù)整個中間區(qū)域110,或者可被局限于模板100的中間區(qū)域110的固定區(qū)域 (用虛線指示)。在電子郵件消息模板100中,理想地,最終用戶能夠把所需數(shù)量的文本或其它內(nèi)容插入用戶可編輯內(nèi)容區(qū)114中,因此理想的是當(dāng)用戶輸入內(nèi)容,從而填充用戶可編輯內(nèi)容區(qū)114時,用戶可編輯內(nèi)容區(qū)114自動向下擴展,以致在顯示器上向下推動頁腳區(qū) 104。S卩,用戶可編輯內(nèi)容區(qū)114應(yīng)是按照插入的用戶插入內(nèi)容的數(shù)量自動擴大和自動縮小的。例如,可利用在同時待審的美國專利申請,序列號No. 12/060, 254,"Flexible Web Page Template Building System And Method” (申請日 2008 年 3 月 31 日)中詳細說明的自動擴展用戶可編輯內(nèi)容容器,實現(xiàn)用戶可編輯內(nèi)容區(qū)114(該專利申請被轉(zhuǎn)讓給對本發(fā)明感興趣的相同受讓人,在此整體引為參考)。文檔100本身可利用在美國專利申請,序列號No. 12/060, 254中描述的網(wǎng)頁建立技術(shù)和網(wǎng)頁模板建立技術(shù)來實現(xiàn)。如在美國專利申請,序列號No. 12/060, 254中所述,一種實現(xiàn)自動擴展用戶可編輯內(nèi)容容器和背景圖像的技術(shù)是當(dāng)內(nèi)容容器114擴大時,自動重復(fù)背景圖像,和當(dāng)內(nèi)容容器114縮小時,消除背景圖像的實例。圖2中圖解說明了文檔100的一個例證實現(xiàn),其中文檔被實現(xiàn)成具有頁眉部分202,頁腳部分204,和可重復(fù)的中間部分組件212,所述可重復(fù)的中間部分組件212在頁眉部分202和頁腳部分204之間被重復(fù)所需的次數(shù),以適應(yīng)在中間部分210中被置于前景中的自動擴展的用戶可編輯內(nèi)容容器214的大小。從而,中間部分 210可包括可重復(fù)的中間部分組件212的一個或多個實例,取決于自動擴展的用戶可編輯內(nèi)容容器214中的用戶插入內(nèi)容的數(shù)量。在把HTML和/或其它置標(biāo)語言轉(zhuǎn)化成可顯示內(nèi)容的web瀏覽器或電子郵件閱讀器中,實現(xiàn)中間部分210的一種技術(shù)是利用諸如CSS之類的樣式表語言,把表現(xiàn)屬性(例如,文檔的文本字體、字號和屬性,背景顏色和樣式,元素對齊,及其它外觀和格式化屬性) 和文檔的實際內(nèi)容分開。使用樣式表規(guī)定文檔的表現(xiàn)可顯著簡化置標(biāo)語言文檔的清晰性, 從而被許多web開發(fā)者采用,并得到許多瀏覽器支持,在一定程度上也得到電子郵件閱讀器支持。不過,由于不是所有電子郵件閱讀器都支持樣式表語言代碼,并且由于許多電子郵件閱讀器明確不支持CSS (或者有時甚至HTML)的背景圖像特征,因此按照本發(fā)明的一個方面,一旦決定了電子郵件消息模板或其它類似文檔的背景影像,并且定義了背景圖像上的用戶可插入內(nèi)容的區(qū)域,背景圖像就被轉(zhuǎn)換成所有電子郵件閱讀器支持的、包含多個著色單元格的HTML表格,當(dāng)被呈現(xiàn)時,所述多個著色單元格顯示背景圖像。圖3圖解說明圖像-表格轉(zhuǎn)換器330進行的背景圖像文檔310到電子郵件可讀表格320 (例如,HTML表格)的轉(zhuǎn)換。圖4是圖解說明在圖像-表格轉(zhuǎn)換器330的例證實施例中執(zhí)行的步驟的流程圖。 如圖所示,在方法400中,圖像-表格轉(zhuǎn)換器330接收圖像310 (步驟401),例如將被插入電子郵件消息的用戶可編輯內(nèi)容的背景中的背景圖像。最好,圖像310中的像素被顏色量化成多種離散顏色(步驟40幻。在一個實施例中,顏色被量化成預(yù)定最大數(shù)目的離散顏色。 在一個實施例中,通過對圖像運用顏色量化算法(例如,八叉樹顏色量化算法,一種本領(lǐng)域中公知的,把圖像顏色數(shù)據(jù)編碼成多達9級深度的八叉樹的高存儲效率的算法),實現(xiàn)顏色量化。圖像-表格轉(zhuǎn)換器330隨后生成電子郵件可讀表格(步驟40 ,電子郵件可讀表格包含多個表格單元格,以致每個表格單元格對應(yīng)于一個不同的離散像素組。特別地,量化圖像中的每個像素只屬于一個離散的像素組。此外,每個離散的像素組包含至少一個像素, 并且或者對應(yīng)于單個像素,或者對應(yīng)于具有相同的離散顏色或已被量化成相同的離散顏色的多個相鄰像素。在一個實施例中,量化圖像中的每個像素屬于離散的像素組之一。此外,每個離散的像素組中的像素被排列在在第一維度具有第一數(shù)目的像素并且在第二維度具有第二數(shù)目的像素的圖像中。即,參見圖5,圖5在左側(cè)表示例證的像素化圖像510,標(biāo)記為groupA,groupB,... , groupL的每個組中的指定顏色A L的像素都被排列在矩形組中,以致給定組中的每行像素具有相同數(shù)目的像素,給定組中的每列具有相同數(shù)目的像素。表格中的每個單元格的顏色屬性被設(shè)定成屬于相應(yīng)表格單元格的對應(yīng)離散像素組的像素的離散顏色A L,如在圖5中所示的結(jié)果表格中所示。表格可被插入電子郵件消息中(步驟411),并被發(fā)送給收件人(步驟412),其中當(dāng)收件人收到電子郵件時,收件人的電子郵件閱讀器向收件人顯示電子郵件消息,包括著色表格(步驟413)。表格還可被插入電子郵件消息生成模板中(步驟404)??梢灾付ū砀裰械囊粋€或多個單元格,以從模板用戶接收內(nèi)容(即,使之成為用戶可編輯的)(步驟40 ,其中從用戶接收的內(nèi)容被插入前景層中,以致與該單元格相關(guān)的背景顏色出現(xiàn)在接收的內(nèi)容之后。在一個實施例中,定義一個或多個表格單元格的文本字體和字號屬性,單元格高度被設(shè)定成與文本屬性對應(yīng)的最小文本高度。即,表格單元格的第一維度和第二維度中的對應(yīng)維度對應(yīng)于文本字體和字號屬性的高度尺寸,至少一個單元格的第一維度和第二維度中的所述對應(yīng)維度被設(shè)定成至少與具有所述字體和字號屬性的文本的高度尺寸一樣大。用戶可編輯的指定表格單元格自動擴大和縮小,以適應(yīng)接收的內(nèi)容。例如,在HTML表格中,規(guī)則的表格單元格按照插入內(nèi)容的大小,自動擴大和縮小。在所述模板中,還可以使表格與電子郵件消息生成模板中的一個或多個另外的表格組合(步驟406)。例如,可在第一維度和/或第二維度,鄰近所述表格放置一個或多個另外的表格。例如,可在該表格的上面放置(或者作為所述表格的第一行插入)一個單元格的頁眉表格。類似地,可在該表格的下面放置(或者作為所述表格的最后一行插入)一個單元格的頁腳表格。類似地,可在所述表格的左側(cè)和右側(cè)放置(或者作為所述表格中的最左側(cè)和最右側(cè)單元格插入)包含要插入該表格的左側(cè)和右側(cè)的影像的表格。每個另外的單元格可包含插入其中的前景影像。在一個實施例中,使電子郵件消息生成模板中的所述一個或多個另外的表格都不能被最終用戶編輯。在一個備選實施例中,使電子郵件消息生成模板中的一個或多個另外的表格都能被最終用戶編輯,不過所述另外的表格的內(nèi)容必須都在前景層中。一旦創(chuàng)建了電子郵件消息生成模板,它就可被呈現(xiàn)給最終用戶(步驟407)??蔀橐粋€或多個指定單元格接收用戶內(nèi)容(步驟408),并把接收的用戶內(nèi)容插入相應(yīng)的指定單元格中(步驟409)。當(dāng)最終用戶完成定制模板時,定制的模板隨后被插入電子郵件消息中 (步驟410),發(fā)送給收件人(步驟412),被收件人接收,并顯示給收件人(步驟413)。最好,圖像-表格轉(zhuǎn)換器330生成的表格是與多數(shù)電子郵件閱讀器兼容的HTML表格。下面是生成電子郵件可讀表格的例證偽碼實現(xiàn)創(chuàng)建HTML表格;選擇圖像中的第一組相鄰像素,該組相鄰像素沿著第一維度相鄰(例如,選擇圖像的第一行);While (在所選一行中剩余未處理像素){當(dāng)前像素.顏色=get (所選行中最左側(cè)的第一個未處理像素).顏色;創(chuàng)建表中具有單位尺寸的表格單元格;把單元格的顏色屬性設(shè)定成當(dāng)前像素.顏色;While (下一個像素.顏色=get (與當(dāng)前像素相鄰的下一個未處理像素).顏色= 當(dāng)前像素.顏色)}單位遞增創(chuàng)建的單元格的第一維度(例如,寬度)}}更特別地,該算法可被描述成接收圖像;創(chuàng)建電子郵件可讀表格;選擇圖像中的一組相鄰像素,所述一組相鄰像素沿著第一維度相鄰;選擇所選一組相鄰像素中的當(dāng)前像素;確定當(dāng)前像素的顏色;創(chuàng)建電子郵件可讀表格中的表格單元格,所述表格單元格與當(dāng)前像素相關(guān),和把創(chuàng)建的表格單元格的背景顏色設(shè)定成確定的顏色,創(chuàng)建的表格單元格具有初始的單位尺寸;選擇所選一組相鄰像素中的下一個像素,選擇的下一個像素與當(dāng)前像素相鄰;確定下一個像素的顏色;如果下一個像素的顏色與當(dāng)前像素的顏色相同,那么遞增創(chuàng)建的單元格的第一維度,并重復(fù)選擇下一個像素的步驟到遞增步驟,每次迭代時,代入所述下一個像素作為當(dāng)前像素,直到確定下一個像素的顏色不同于當(dāng)前像素的顏色為止; 和如果下一個像素的顏色不同于當(dāng)前像素的顏色,那么重復(fù)創(chuàng)建表格單元格的步驟到該重復(fù)步驟,每次迭代時,代入所述下一個像素作為當(dāng)前像素,直到用該方法處理了所述一組相鄰像素中的每個像素為止,其中每個創(chuàng)建的表格單元格沿著第一維度彼此相鄰地排列在所述表格中。在一個實施例中,創(chuàng)建的表格單元格中的至少一個被配置成用戶可編輯的,以接收用戶內(nèi)容,其中沿著第一維度彼此相鄰地排列在所述表格中的所有創(chuàng)建的表格單元格沿著第二維度整體擴大或縮小,以完全顯示接收的用戶內(nèi)容。在一個實施例中,所述表格是 HTML表格。在另一個實施例中,當(dāng)收到圖像時,圖像被量化成顏色減少的圖像,所述顏色減少的圖像只包含映射到預(yù)定最大數(shù)目的離散顏色之一的顏色,并利用顏色減少的圖像代替所述圖像,進行剩余的步驟??蓪λ鰣D像進行顏色量化算法,比如上面提及的八叉樹顏色量化算法,以把圖像中的每個像素映射到預(yù)定最大數(shù)目的離散顏色中的離散顏色之一。圖8圖解說明可用于生成可變高度內(nèi)容圖像的最小圖像。如圖所示,為了創(chuàng)建具有背景圖像的可變高度區(qū)域(它可以包括或者不包括頁眉部分和/或頁腳部分),作為圖像-表格轉(zhuǎn)換器的輸入而需要的最小圖像是一行像素。當(dāng)用戶把內(nèi)容輸入單元格之一中時,該單元格和對應(yīng)行中的所有單元格垂直擴展,同時保持其分配的背景顏色。從而,當(dāng)用戶插入的內(nèi)容擴展表格中的用戶可編輯單元格時,單一的單位尺寸(或者幾個像素寬)的單一著色單元格可被擴展成豎直線(或者條帶)。這種最小高度表格尤其可用于呈現(xiàn)其中用戶插入的文本內(nèi)容的高度發(fā)生變化的電子郵件消息中的邊框。在一個實施例中,提供靈活的電子郵件消息模板生成工具684(參見圖6),電子郵件消息模板生成工具684允許電子郵件消息生成模板設(shè)計人員建立供最終用戶定制和使用的模板,并且兼容多種電子郵件閱讀器。在一個實施例中,生成靈活的電子郵件消息生成模板(參見圖5),所述電子郵件消息生成模板允許最終用戶(比如電子郵件營銷活動的設(shè)計者)定制用于發(fā)給一個或多個電子郵件收件人的電子郵件消息。例如,圖9圖解說明實現(xiàn)成具有頁眉單元格902、最小的中間部分和頁腳單元格904的HTML表格的電子郵件消息生成模板9,頁眉單元格902橫跨表格的寬度,并且包括用戶不可編輯的前景影像,所述最小的中間部分包括用戶可編輯的中間單元格,和在用戶可編輯的中間單元格左右兩側(cè)的多個著色的用戶不可編輯單元格, 頁腳單元格904橫跨表格的寬度,并且包括用戶不可編輯的前景影像。最好,中間部分的單元格顏色與頁眉和/或頁腳中的相同顏色的像素對齊,以致中間部分單元格與電子郵件消息的頁眉和頁腳匹配,從而當(dāng)用戶內(nèi)容被插入用戶可編輯單元格中時,擴展形成與頁眉和頁腳圖像中的同樣顏色的區(qū)域?qū)R的匹配線條和條帶。操作中,用戶打開模板,把諸如文本之類的內(nèi)容輸入用戶可編輯的單元格中,與用戶可編輯的單元格相同行中的所有單元格按照插入其中的內(nèi)容的數(shù)量擴展。圖6圖解說明其中實現(xiàn)本發(fā)明的實施例的例證系統(tǒng)600。客戶端系統(tǒng)611代表用戶的計算機系統(tǒng),例如,電子郵件市場活動業(yè)務(wù)的客戶。客戶端系統(tǒng)611是參考圖7說明的, 配置成通過Web通信,并且運行現(xiàn)代Web瀏覽器程序612的典型配置的現(xiàn)代個人計算機。為了便于討論,將在運行Microsoft Internet Explorer瀏覽器的個人計算機的環(huán)境中討論本發(fā)明,不過要認(rèn)識到本發(fā)明可適用于支持HTML,XHTML, DHTML, XML和其它web功能的其它瀏覽器程序,和其它智能設(shè)備,比如能夠運行這種瀏覽器的PDA??蛻舳?11與電子郵件營銷活動業(yè)務(wù)服務(wù)器20通信,以建立賬戶信息和通過客戶端的瀏覽器612訂購電子郵件營銷活動業(yè)務(wù)。在建立賬戶之后,客戶隨后開始設(shè)計和編輯將在電子郵件營銷活動中發(fā)送的電子郵件。在一個例證實施例中,電子郵件營銷活動業(yè)務(wù)借助電子郵件營銷活動工具服務(wù)器630提供電子郵件消息建立工具。在一個實施例中,客戶端611可下載電子郵件消息生成工具631,以在它們的本地瀏覽器612中運行。電子郵件消息生成工具631允許客戶從服務(wù)器30下載電子郵件消息生成模板 (保存在模板圖庫640中)。模板是包括允許客戶定制文本、圖像和設(shè)計將在電子郵件營銷活動中發(fā)送的內(nèi)容的可編輯區(qū)域的電子郵件消息設(shè)計。它們一般包括有或沒有圖案的背景、頁眉區(qū)、頁腳區(qū)、和一個或多個用戶可編輯的內(nèi)容區(qū)。客戶可編輯模板的用戶可編輯內(nèi)容區(qū),從而生成定制的電子郵件消息。當(dāng)客戶對電子郵件消息的定制感到滿意時,客戶可利用另外的電子郵件營銷活動工具(未示出)安排向一個或多個收件人(例如運行電子郵件閱讀器73 (在瀏覽器672之內(nèi)或之外)的客戶端70)傳送定制的電子郵件消息的時間。電子郵件消息生成模板可由操作內(nèi)容提供者計算機系統(tǒng)680的內(nèi)容設(shè)計員創(chuàng)建, 內(nèi)容提供者計算機系統(tǒng)680可以是任何常規(guī)的計算機系統(tǒng),例如,參考圖7說明的計算機系統(tǒng)。電子文檔創(chuàng)建和編輯應(yīng)用程序682或者本地地在內(nèi)容提供者系統(tǒng)680上運行,或者通過常規(guī)連網(wǎng)結(jié)構(gòu)(未示出)遠程運行于內(nèi)容提供者系統(tǒng)680上,并允許內(nèi)容提供者創(chuàng)建電子文檔,例如,可以打印或者在顯示器上查看的文檔。電子文檔創(chuàng)建和編輯應(yīng)用程序682本身可以提供電子郵件消息模板生成工具 684,或者只提供對電子郵件消息模板生成工具684的訪問。例如,常規(guī)的電子文檔出版系統(tǒng)可包括內(nèi)插式附件或插件。插件是與主應(yīng)用程序(例如,電子文檔創(chuàng)建和編輯應(yīng)用程序 682)交互作用以“按需”提供功能的計算機程序。另一方面,電子文檔創(chuàng)建和編輯應(yīng)用程序 682本身可以實現(xiàn)自動創(chuàng)建網(wǎng)頁模板的功能。電子郵件消息模板生成工具684接收背景影像,并與圖像-表格轉(zhuǎn)換器686通信 (如參考圖3和4所述),以把影像轉(zhuǎn)換成一個或多個著色的HTML表格,并生成供諸如客戶端611之類的客戶使用的電子郵件消息生成模板。現(xiàn)在參見圖7,提供可以實現(xiàn)任意客戶端611,670,服務(wù)器620,630,和內(nèi)容提供者系統(tǒng)680的適當(dāng)計算系統(tǒng)環(huán)境700的例子。計算系統(tǒng)環(huán)境700只是適當(dāng)?shù)挠嬎悱h(huán)境的一個例子,并不意圖建議對本發(fā)明的使用范圍或功能性的任意限制。計算環(huán)境700也不應(yīng)被解釋成具有與在例證的操作環(huán)境700中圖解說明的組件任意之一或組合相關(guān)的任何依賴性或要求。本發(fā)明的實施例可以與眾多其它的通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或結(jié)構(gòu)一起工作。適合于與本發(fā)明一起使用的公知計算系統(tǒng)、環(huán)境和/或結(jié)構(gòu)的例子包括(但不限于)個人計算機、服務(wù)器計算機、手持式或膝上型設(shè)備、微處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、 可編程的消費類電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計算機、大型計算機、包括任意上述系統(tǒng)或設(shè)備的分布式計算環(huán)境,等等??稍谟梢粋€或多個計算機或處理器執(zhí)行的計算機可執(zhí)行指令,比如程序模塊的通用環(huán)境中,說明本發(fā)明的實施例,尤其是電子郵件消息模板生成工具684,電子郵件消息生成工具631和圖像-表格轉(zhuǎn)換器686。通常,程序模塊包括執(zhí)行特定任務(wù),或者實現(xiàn)特殊的抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu),等等。也可在其中用通過通信網(wǎng)絡(luò)或者其它數(shù)據(jù)傳輸介質(zhì)鏈接的遠程處理設(shè)備執(zhí)行任務(wù)的分布式計算環(huán)境中,實踐本發(fā)明的實施例。在分布式計算環(huán)境中,程序模塊和其它數(shù)據(jù)可以位于本地,和位于包括存儲裝置在內(nèi)的遠程計算機存儲介質(zhì)中。參見圖7,實現(xiàn)本發(fā)明的例證系統(tǒng)以一個或多個計算機710的形式,包括通用計算設(shè)備。計算機710的組件包括(但不限于)一個或多個處理單元720,系統(tǒng)存儲器730,和系統(tǒng)總線721,系統(tǒng)總線721使包括系統(tǒng)存儲器在內(nèi)的各個系統(tǒng)組件與處理單元720耦接。 系統(tǒng)總線721可以是幾種總線結(jié)構(gòu)任意之一,所述幾種總線結(jié)構(gòu)包括利用任意各種總線體系結(jié)構(gòu)的存儲總線或存儲控制器,外圍總線和局域總線。計算機710 —般包括各種計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是能夠被計算機 710訪問的任意可用介質(zhì),包括易失性介質(zhì)和非易失性介質(zhì),可拆卸介質(zhì)和不可拆卸介質(zhì)。 例如,計算機可讀介質(zhì)可包括(但不限于)計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括用任意方法或技術(shù)實現(xiàn)的,用于存儲諸如計算機可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或其它數(shù)據(jù)的易失性和非易失性,可拆卸和不可拆卸介質(zhì)。計算機存儲介質(zhì)包括(但不限于)RAM, ROM, EEPR0M,閃速存儲器或其它存儲器技術(shù),CDR0M,數(shù)字通用光盤(DVD)或其它光盤存儲器,盒式磁帶,磁帶,磁盤存儲器或其它磁性存儲裝置,或者可用于保存期望的信息,并且能夠被計算機710訪問的任何其它介質(zhì)。通信介質(zhì)一般包含計算機可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或其它數(shù)據(jù)。通信介質(zhì)一般用調(diào)制數(shù)據(jù)信號,比如載波,或者其它傳送按鈕體現(xiàn)計算機可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或其它數(shù)據(jù),并且包括任何信息傳輸介質(zhì)。系統(tǒng)存儲器730包括呈易失性和/或非易失性存儲器形式的計算機存儲介質(zhì),比如只讀存儲器(ROM) 731和隨機存取存儲器(RAM)732。包含幫助在計算機710內(nèi)的元件之間傳送信息(比如在啟動期間)的基本例程的基本輸入/輸出系統(tǒng)733 (BIOS) —般保存在 ROM 731中。RAM 732 —般包含處理單元720可立即訪問的和/或處理單元720正在操作的數(shù)據(jù)和/或程序模塊。例如(但不限于),圖7圖解說明操作系統(tǒng)734,應(yīng)用程序735,其它程序模塊736和程序數(shù)據(jù)737。計算機710還可包括其它可拆卸/不可拆卸,易失性/非易失性計算機存儲介質(zhì)。 只是作為例子,圖7圖解說明讀/寫不可拆卸的非易失性磁性介質(zhì)的硬盤驅(qū)動器740,讀/ 寫可拆卸的非易失性磁盤752的磁盤驅(qū)動器751,和讀/寫可拆卸的非易失性光盤756,比如CD ROM或其它光學(xué)介質(zhì)的光盤驅(qū)動器755??捎迷诶C的操作環(huán)境中的其它可拆卸/不可拆卸,易失性/非易失性計算機存儲介質(zhì)包括(但不限于)盒式磁帶,閃速存儲卡,數(shù)字通用光盤,數(shù)字錄像帶,固態(tài)RAM,固態(tài)R0M,等等。硬盤驅(qū)動器741—般通過諸如接口 740 之類的不可拆卸存儲接口,連接到系統(tǒng)總線721,磁盤驅(qū)動器751和光盤驅(qū)動器755 —般通過諸如接口 750之類的可拆卸存儲接口,連接到系統(tǒng)總線721。上面討論并在圖7中圖解說明的驅(qū)動器及其相關(guān)的計算機存儲介質(zhì)為計算機710 提供計算機可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊和其它數(shù)據(jù)的存儲。在圖7中,例如,硬盤驅(qū)動器741被圖解表示成保存操作系統(tǒng)744,應(yīng)用程序745,其它程序模塊746和程序數(shù)據(jù)747。注意,這些組件可以與操作系統(tǒng)734,應(yīng)用程序735,其它程序模塊736和程序數(shù)據(jù)737相同或不同。這里,操作系統(tǒng)744,應(yīng)用程序745,其它程序模塊746和程序數(shù)據(jù)747被賦予不同的編號,以舉例說明至少它們是不同的副本。用戶可通過諸如鍵盤762,和通常稱為鼠標(biāo)、跟蹤球或觸摸墊的指示裝置761之類的輸入裝置,把命令和信息輸入計算機710中。其它輸入裝置(未示出)可包括麥克風(fēng),操縱桿,游戲手柄,碟形衛(wèi)星天線,掃描儀,等等。這些和其它輸入裝置通常通過與系統(tǒng)總線耦接的用戶輸入接口 760,連接到處理單元720,不過可以用其它接口和總線結(jié)構(gòu),比如并行端口,游戲端口或通用串行總線(USB)連接。監(jiān)視器791 或者其它種類的顯示裝置也通過諸如視頻接口 790之類的接口,連接到系統(tǒng)總線721。除了監(jiān)視器之外,計算機還可包括通過輸出外圍接口 790連接的其它外圍輸出裝置,比如揚聲器797和打印機796。通過利用與一個或多個遠程計算機,比如遠程計算機780的邏輯連接,計算機710 可在連網(wǎng)環(huán)境中工作。遠程計算機780可以是個人計算機,服務(wù)器,路由器,網(wǎng)絡(luò)PC,對等裝置或其它常見網(wǎng)絡(luò)節(jié)點,一般包括上面關(guān)于計算機710說明的許多或者所有元件,雖然在圖7中只圖解說明了存儲裝置781。圖7中描述的邏輯連接包括局域網(wǎng)(LAN) 771和廣域網(wǎng)(WAN) 773,不過還可包括其它網(wǎng)絡(luò)。這樣的連網(wǎng)環(huán)境在辦公室計算機網(wǎng)絡(luò),公司計算機網(wǎng)絡(luò),企業(yè)內(nèi)部網(wǎng)和因特網(wǎng)中是平常的。當(dāng)用在LAN連網(wǎng)環(huán)境中時,計算機710通過網(wǎng)絡(luò)接口或適配器770連接到LAN 771。當(dāng)用在WAN連網(wǎng)環(huán)境中時,計算機710—般包括用于通過WAN 773,比如因特網(wǎng)建立通信的調(diào)制解調(diào)器772或者其它裝置。可在內(nèi)部或者外部的調(diào)制解調(diào)器772可通過用戶輸入接口 760,或者其它適當(dāng)?shù)陌粹o,連接到系統(tǒng)總線721。在連網(wǎng)環(huán)境中,關(guān)于計算機710描述的程序模塊,或其各個部分可被保存在遠程存儲裝置中。例如(但不限于),圖7把遠程應(yīng)用程序785圖解說明成駐留在存儲裝置781上。要認(rèn)識到所示的網(wǎng)絡(luò)連接是例證性的,可以使用在計算機之間建立通信鏈路的其它手段。總之,本發(fā)明的實施例提供獲得與電子郵件閱讀器的更高兼容性,尤其是可變高度背景內(nèi)容影像的工具。使電子郵件中的可變高度背景內(nèi)容影像(即,邊框和重復(fù)的背景內(nèi)容)從圖像轉(zhuǎn)換成著色的表格單元格。最好,關(guān)于最小數(shù)目的顏色優(yōu)化背景圖像,隨后把背景圖像變換成一系列著色的表格單元格。特別地,生成期望的背景圖像,并且最好變換生成的期望背景圖像,以減少顏色的總數(shù)。(顏色減少的)圖像被逐個像素地分成組成顏色,對于相同顏色的相鄰像素,優(yōu)化和合并單元格。用適當(dāng)?shù)南袼貙挾群拖袼仡伾瑒?chuàng)建各個表格單元格。使具有與可變高度方向的對應(yīng)顏色的像素一致的相應(yīng)末行和首行像素顏色的圖像內(nèi)容可擴展的可選頁眉圖像單元格和頁腳圖像單元格可被置于表格之上和之下,以允許與頁眉圖像和頁腳圖像匹配的可變高度電子郵件。雖然上面討論了本發(fā)明的例證實施例,不過,上述實施例應(yīng)被認(rèn)為是例證性的,而不是限制性的。本發(fā)明的范圍如在下述權(quán)利要求及所有等同方法和系統(tǒng)中所示。
權(quán)利要求
1.一種計算機實現(xiàn)的用于將圖像轉(zhuǎn)化成表格的方法,包括接收圖像;把圖像中的每個像素量化成多個離散顏色;生成包含多個表格單元格的電子郵件可讀表格,每個表格單元格對應(yīng)于一個離散的像素組,并且量化圖像中的每個像素只屬于一個離散的像素組,每個離散的像素組包含至少一個像素,并且或者對應(yīng)于單個像素,或者對應(yīng)于已被量化成相同的離散顏色并被排列于在第一維度上具有第一數(shù)目的像素并在第二維度上具有第二數(shù)目的像素的量化圖像中的多個相鄰像素;以及把每個相應(yīng)表格單元格的背景顏色設(shè)定成屬于相應(yīng)表格單元格的對應(yīng)離散像素組的像素的離散顏色。
2.按照權(quán)利要求1所述的方法,其中所述量化圖像中的每個像素屬于離散像素組之一。
3.按照權(quán)利要求1所述的方法,其中在量化步驟中所述多個離散顏色被限制為預(yù)定最大數(shù)目的離散顏色。
4.按照權(quán)利要求1所述的方法,還包括把表格插入電子郵件消息中。
5.按照權(quán)利要求4所述的方法,還包括把所述電子郵件消息發(fā)送給收件人,其中當(dāng)電子郵件閱讀器向收件人顯示所述電子郵件消息時,在所述電子郵件閱讀器中顯示所述表格。
6.按照權(quán)利要求1所述的方法,還包括把所述表格插入電子郵件消息生成模板中;指定所述表格中的至少一個單元格,以從模板用戶接收內(nèi)容,其中從用戶接收的內(nèi)容被插入前景層中,以致與該單元格相關(guān)的背景顏色出現(xiàn)在所接收的內(nèi)容的后方。
7.按照權(quán)利要求6所述的方法,其中指定所述至少一個單元格接收具有字體字號屬性的文本,并且其中第一維度和第二維度中的相應(yīng)維度對應(yīng)于具有所述字體和字號屬性的文本的高度尺寸,并且所述至少一個單元格的第一維度和第二維度中的所述相應(yīng)維度至少與具有所述字體和字號屬性的文本的高度尺寸一樣大。
8.按照權(quán)利要求7所述的方法,其中所指定的單元格擴大和縮小,以適應(yīng)所接收的內(nèi)容。
9.按照權(quán)利要求6所述的方法,還包括組合所述表格與所述電子郵件消息生成模板中的一個或多個另外的表格,所述一個或多個另外的表格在第一維度和/或第二維度上鄰近所述表格,并且每個另外的表格包含具有插入其中的前景影像的一個或多個單元格。
10.按照權(quán)利要求9所述的方法,其中所述一個或多個另外的表格包括包含頁眉圖像的頁眉表格、包含頁腳圖像的頁腳表格、包含左中圖像的左中圖像以及包含右中圖像的右中圖像中的一個或多個。
11.按照權(quán)利要求10所述的方法,其中所述電子郵件消息生成模板中的所述一個或多個另外的表格都不能被最終用戶編輯。
12.按照權(quán)利要求9所述的方法,還包括向用戶提供所述電子郵件消息生成模板;在一個或多個所指定的單元格中,從用戶接收內(nèi)容,并把內(nèi)容插入相應(yīng)的指定單元格中;以及把所述電子郵件消息生成模板插入電子郵件消息中。
13.按照權(quán)利要求12所述的方法,還包括把所述電子郵件消息發(fā)送給收件人,其中當(dāng)電子郵件閱讀器向收件人顯示所述電子郵件消息時,在所述電子郵件閱讀器中顯示所述表格。
14.按照權(quán)利要求6所述的方法,還包括向用戶提供所述電子郵件消息生成模板;在一個或多個所指定的單元格中,從用戶接收內(nèi)容,并把內(nèi)容插入相應(yīng)的指定單元格中;以及把所述電子郵件消息生成模板插入電子郵件消息中。
15.按照權(quán)利要求14所述的方法,還包括把所述電子郵件消息發(fā)送給收件人,其中當(dāng)電子郵件閱讀器向收件人顯示所述電子郵件消息時,在所述電子郵件閱讀器中顯示所述表格。
16.按照權(quán)利要求1所述的方法,其中所述表格是HTML表格。
17.按照權(quán)利要求1所述的方法,其中生成所述電子郵件可讀表格的步驟包括創(chuàng)建電子郵件可讀表格;選擇所述圖像中的一組相鄰像素,所述一組相鄰像素沿著第一維度相鄰;選擇所選擇的一組相鄰像素中的當(dāng)前像素;確定所述當(dāng)前像素的顏色;在所述電子郵件可讀表格中創(chuàng)建表格單元格,所述表格單元格與所述當(dāng)前像素相關(guān), 并且把所創(chuàng)建的表格單元格的背景顏色設(shè)定成所確定的顏色,所創(chuàng)建的表格單元格具有初始的單位尺寸;選擇所選擇的一組相鄰像素中的下一個像素,所選擇的下一個像素與所述當(dāng)前像素相鄰;確定所述下一個像素的顏色;如果所述下一個像素的顏色與所述當(dāng)前像素的顏色相同,那么遞增所創(chuàng)建的單元格的第一維度,并重復(fù)選擇下一個像素的步驟到遞增步驟,每次迭代時,代入下一個像素作為當(dāng)前像素,直到確定下一個像素的顏色不同于當(dāng)前像素的顏色為止;如果下一個像素的顏色不同于當(dāng)前像素的顏色,那么重復(fù)創(chuàng)建表格單元格的步驟到該重復(fù)步驟,每次迭代時,代入下一個像素作為當(dāng)前像素,直到用該方法處理了所述一組相鄰像素中的每個像素為止,其中每個所創(chuàng)建的表格單元格沿著第一維度彼此相鄰地排列在所述表格中。
18.按照權(quán)利要求17所述的方法,還包括把至少一個所創(chuàng)建的表格單元格指定為用戶可編輯的,以接收用戶內(nèi)容,其中沿著第一維度彼此相鄰地排列在所述表格中的所有所創(chuàng)建的表格單元格沿著第二維度整體擴大或縮小,以完全顯示接收的用戶內(nèi)容。
19.按照權(quán)利要求1所述的方法,其中把所述圖像中的每個像素量化成多個離散顏色的步驟包括對所述圖像執(zhí)行顏色量化算法,以把所述圖像中的每個像素映射到預(yù)定最大數(shù)目的離散顏色中的多個離散顏色之一。
20.按照權(quán)利要求19所述的方法,其中所述量化算法包含八叉樹顏色量化算法。
21.—個或多個有形地包含當(dāng)被一個或多個處理器執(zhí)行時實現(xiàn)按照權(quán)利要求1-20任意之一所述方法的程序指令的計算機可讀存儲介質(zhì)。
22.—種計算機實現(xiàn)的把圖像轉(zhuǎn)化成表格的方法,包括接收圖像;創(chuàng)建電子郵件可讀表格;選擇所述圖像中的一組相鄰像素,所述一組相鄰像素沿著第一維度相鄰;選擇所選擇的一組相鄰像素中的當(dāng)前像素;確定所述當(dāng)前像素的顏色;在所述電子郵件可讀表格中創(chuàng)建表格單元格,所述表格單元格與所述當(dāng)前像素相關(guān), 并且把所創(chuàng)建的表格單元格的背景顏色設(shè)定成所確定的顏色,所創(chuàng)建的表格單元格具有初始的單位尺寸;選擇所選擇的一組相鄰像素中的下一個像素,所選擇的下一個像素與所述當(dāng)前像素相鄰;確定所述下一個像素的顏色;如果所述下一個像素的顏色與所述當(dāng)前像素的顏色相同,那么遞增所創(chuàng)建的單元格的第一維度,并重復(fù)選擇下一個像素的步驟到遞增步驟,每次迭代時,代入所述下一個像素作為當(dāng)前像素,直到確定下一個像素的顏色不同于當(dāng)前像素的顏色為止;如果下一個像素的顏色不同于當(dāng)前像素的顏色,那么重復(fù)創(chuàng)建表格單元格的步驟到該重復(fù)步驟,每次迭代時,代入下一個像素作為當(dāng)前像素,直到用該方法處理了所述一組相鄰像素中的每個像素為止,其中每個所創(chuàng)建的表格單元格沿著第一維度彼此相鄰地排列在所述表格中。
23.按照權(quán)利要求22所述的方法,還包括把至少一個所創(chuàng)建的表格單元格指定為用戶可編輯的,以接收用戶內(nèi)容,其中沿著第一維度彼此相鄰地排列在所述表格中的所有所創(chuàng)建的表格單元格沿著第二維度整體擴大或縮小,以完全顯示接收的用戶內(nèi)容。
24.按照權(quán)利要求22所述的方法,其中所述表格是HTML表格。
25.按照權(quán)利要求22所述的方法,還包括當(dāng)收到所述圖像時,把所述圖像變換成顏色減少的圖像,所述顏色減少的圖像只包含映射到預(yù)定最大數(shù)目的離散顏色之一的顏色,并利用所述顏色減少的圖像代替所述圖像來執(zhí)行其余的步驟。
26.按照權(quán)利要求25所述的方法,其中所述變換步驟包括對所述圖像執(zhí)行顏色量化算法,以把所述圖像中的每個像素映射到所述預(yù)定最大數(shù)目的離散顏色中的離散顏色之一。
27.—個或多個有形地包含當(dāng)被一個或多個處理器執(zhí)行時實現(xiàn)按照權(quán)利要求2216任意之一所述的方法的程序指令的計算機可讀存儲介質(zhì)。
28.一種計算機設(shè)備,所述計算機設(shè)備適合于實現(xiàn)按照權(quán)利要求2216任意之一所述的方法。
29. 一種計算機設(shè)備,所述計算機設(shè)備適合于實現(xiàn)按照權(quán)利要求1-21任意之一所述的方法。
全文摘要
一種生成表現(xiàn)豐富的電子郵件消息的系統(tǒng)和方法,所述電子郵件消息具有影像和在多種電子郵件閱讀器中兼容的可變高度內(nèi)容輸入?yún)^(qū)。
文檔編號G06F17/22GK102273203SQ200980153224
公開日2011年12月7日 申請日期2009年6月30日 優(yōu)先權(quán)日2009年4月2日
發(fā)明者A·迪寧, J·L·克萬, L·D·埃勒斯 申請人:威仕達品特技術(shù)有限公司